0
Like當濾波器設置爲分面/聚合濾波器時,應該排除,所以我們不會得到一個結果。如何在ElasticSearch中標記和排除篩選器?
如果用戶選擇某個品牌,結果應該只包含所選品牌,但聚合應返回已存在的所有品牌過濾條件,以便用戶也可以選擇其他品牌。
我們如何在Elasticsearch中做到這一點?可以使用標籤訪問solr並排除過濾器
Like當濾波器設置爲分面/聚合濾波器時,應該排除,所以我們不會得到一個結果。如何在ElasticSearch中標記和排除篩選器?
如果用戶選擇某個品牌,結果應該只包含所選品牌,但聚合應返回已存在的所有品牌過濾條件,以便用戶也可以選擇其他品牌。
我們如何在Elasticsearch中做到這一點?可以使用標籤訪問solr並排除過濾器
使用post_filter過濾搜索結果,但仍顯示聚合中的所有數據。
的post_filter應用於搜索命中在 搜索請求的最末端,聚合已經計算了。它 目的是最好的例子來解釋:
curl -XGET localhost:9200/shirts/_search -d '
{
"query": {
"filtered": {
"filter": {
{ "term": { "brand": "gucci" }}
}
}
},
"aggs": {
"colors": {
"terms": { "field": "color" },
},
"color_red": {
"filter": {
"term": { "color": "red" }
},
"aggs": {
"models": {
"terms": { "field": "model" }
}
}
}
},
"post_filter": {
"term": { "color": "red" },
}
}
'
如何檢查是否用戶選擇兩種顏色?像「color_red」:我將如何創建另一個?使用或運算符。如果是,請給json –
使用OR過濾器添加額外的過濾器 - https://www.elastic.co/guide/en/elasticsearch/reference/1.4/query-dsl-or-filter.html –
我知道了。謝謝。 :) –