Ich habe Probleme mit der elastischen Suche, um die Facetten/Aggregationen zu erzeugen, die ich meinen Benutzern anzeigen möchte.Erlaube dem Benutzer, OR in Aggregationen zu verwenden
TLTR
wan't ich die Facetten Facetten auf dieser Seite verhalten: https://mad.coop.dk/frugt-og-groent#!/frugt-og-baer
eine Suchseite vor, wo wir Autos zu verkaufen sind anzuzeigen. Ein Auto ist wie folgt modelliert:
Auto
{
"brand": "Ford",
"color": "Blue"
}
INDEXING
4 Autos auf den Index
HinzufügenPOST /agg_analysis/data/_bulk
{ "index": {}}
{ "brand" : "Ford", "color":"Blue" }
{ "index": {}}
{ "brand" : "Ford", "color":"Red" }
{ "index": {}}
{ "brand" : "Toyota", "color":"Blue" }
{ "index": {}}
{ "brand" : "Toyota", "color":"Yellow" }
ERSTE FACETS
Auf der linken Seite der Seite wir den Benutzern erlauben, die Autos
Die Aggregation ist gerade nach vorne
Erstabfrage
GET /agg_analysis/data/_search
{
"aggs": {
"brand": {
"terms": {
"field": "brand"
}
},
"color": {
"terms": {
"field": "color"
}
}
}
}
USE CASE 1 zu filtern : FIND MICH EIN BLAUES AUTO
Der Benutzer kann die Farbe klicken: blau Facette und die Facetten und Autos werden entsprechend aktualisiert
GET /agg_analysis/data/_search
{
"query": {
"term": {
"color": {
"value": "blue"
}
}
},
"aggs": {
"brand": {
"terms": {
"field": "brand"
}
},
"color": {
"terms": {
"field": "color"
}
}
}
}
Alles ist in Ordnung und Benutzer ist glücklich
Anwendungsfall 2: ME A BLUE FINDEN ODER ROTES AUTO
Hier beginnen die Probleme. Wenn der Benutzer auf das blaue Kontrollkästchen klickte, verschwand das rote Kontrollkästchen.
Also, was ich will, ist, dass alle Facetten aktualisiert werden - mit Ausnahme der der Benutzer klickt in
USE CASE. 3: ME A BLUE FINDEN ODER ROTES AUTO, und es sollte BE A FORD
Das ist ein bisschen das gleiche Problem.