0
私は自分のユーザーに表示したいファセット/集計を生成するために弾性検索を取得するのに問題があります。ユーザーが集計でORを使用できるようにする
TLTR
私はこのサイト上のファセットを動作するようにファセットをwan't: https://mad.coop.dk/frugt-og-groent#!/frugt-og-baer
たちは販売のための車を表示している検索ページを想像してみてください。
{
"brand": "Ford",
"color": "Blue"
}
INDEXING
がインデックスに
POST /agg_analysis/data/_bulk
{ "index": {}}
{ "brand" : "Ford", "color":"Blue" }
{ "index": {}}
{ "brand" : "Ford", "color":"Red" }
{ "index": {}}
{ "brand" : "Toyota", "color":"Blue" }
{ "index": {}}
{ "brand" : "Toyota", "color":"Yellow" }
INITIAL FACETS
を4台の追加車:車は、このようにモデル化されています我々は、ユーザーが車
最初のクエリをフィルタリングすることができ、ページの左側に
は
集約はまっすぐ前方
GET /agg_analysis/data/_search
{
"aggs": {
"brand": {
"terms": {
"field": "brand"
}
},
"color": {
"terms": {
"field": "color"
}
}
}
}
ユースケース1であります:青い車を探す
ユーザーが色をクリックしてください:青面と面と車がそれに応じて
GET /agg_analysis/data/_search
{
"query": {
"term": {
"color": {
"value": "blue"
}
}
},
"aggs": {
"brand": {
"terms": {
"field": "brand"
}
},
"color": {
"terms": {
"field": "color"
}
}
}
}
更新されているすべての罰金であり、ユーザーは幸せ
ユースケース2:私を見つけるBLUEまたは赤い車
ここで問題が始まります。ユーザーが青色のチェックボックスをクリックすると、赤いチェックボックスが消えました。
それでは、私がしたいことはすべての面が更新されるということである - 1を除いて、ユーザーがクリックで
ユースケース3:BLUE OR RED CAR私を見つける、それがFORD
されなければなりません。これはちょっと同じ問題です。