J'ai vu quelques exemples de recherche facettisée dans Elastic mais tous savent à l'avance sur quels champs vous voulez créer des godets.Recherche facettisée en boutique avec Elastic
Comment dois-je travailler quand j'ai une boutique en ligne avec plusieurs catégories, où les propriétés des valeurs sont différentes dans chaque catégorie?
Existe-t-il un moyen de décrire les propriétés de vos documents lors de l'exécution d'une requête (par exemple, un filtre par catégorie)?
J'ai cette requête en ce moment:
{
"from" : 0, "size" : 10,
"query": {
"bool" : {
"must" : [
{ "terms": {"color": ["red", "green", "purple"]} },
{ "terms": {"make": ["honda", "toyota", "bmw"]} }
]
}
},
"aggregations": {
"all_cars": {
"global": {},
"aggs": {
"colors": {
"filter" : { "terms": {"make": ["honda", "toyota", "bmw"]} },
"aggregations": {
"filtered_colors": { "terms": {"field": "color.keyword"} }
}
},
"makes": {
"filter" : { "terms": {"color": ["red", "green"]} },
"aggregations": {
"filtered_makes": { "terms": {"field": "make.keyword"} }
}
}
}
}
}
}
Comment puis-je savoir sur quels domaines je peux faire agrégations. Existe-t-il un moyen de décrire les propriétés d'un document après l'exécution d'une requête? Je peux donc savoir ce que sont les champs possibles, à agréger.
Cela renverrait toutes les valeurs d'une propriété au lieu de toutes les propriétés – brechtvhb
que je vois. J'ai mal compris l'affaire. Peut être être vous pouvez utiliser https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-field-names-field.html? Je veux dire faire plusieurs demandes. Un pour obtenir les champs, l'autre pour calculer les aggs ... Difficile probablement. – dadoonet