[英]Elasticsearch: Facet script and facet_filter
是否可以像這樣在Elasticsearch中使用構面腳本和構面過濾器?
{
"facets": {
"judges": {
"terms": {
"field": "judges.untouched",
"size": 10,
"all_terms": false,
"script": { "script": "...", "params": { }}
},
"global_facets": false,
"facet_filter": {
"and": [
{
"query": {
"query_string": {
"query": "..... ",
"fields": [
"judges.analyzed"
],
"default_operator": "and",
"analyze_wildcard": true
}
}
}
]
}
}
}
}
因為當我運行此查詢時,elasticsearch會引發錯誤:解析失敗[找不到[和]的構面類型]; }。
謝謝
編輯錯誤的答案。 由於上下文原因,我將其保留。 要澄清: and
是一個適當的過濾器,應該由facet_filter
接受。 不知道怎么了。
未經測試,但來自文檔:( http://www.elasticsearch.org/guide/reference/api/search/facets/ )
可以使用其他過濾器配置所有方面(在“查詢DSL”部分中進行了說明)
因此,您需要在facet_filter
放置一個適當的query
。 And
不是適當的過濾器(您收到的錯誤可能會更清楚)
例如:
"facet_filter" : {
"term" : { "user" : "kimchy"}
}
您可能想要類似的東西:
"facet_filter" : {
"query_string": {
"query": "..... ",
"fields": [
"judges.analyzed"
],
"default_operator": "and",
"analyze_wildcard": true
}
}
and
過濾器的語法為:
"facet_filter": {
"and": {
"filters": [
{
// filter definition
},
{
// another filter definition
}
]
}
}
但是您只使用一個條件,因此不需要and
過濾器。 您應該只有:
"facet_filter": {
"query": {
"query_string": {
"query": "..."
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.