Voici ma requête. J'essaie d'obtenir tous les produits qui se trouvent dans la catégorie "men_fashion" et "men_shoes" (les catégories sont utilisées comme termes/tags). Ensuite, je veux interroger l'ensemble des résultats et de rechercher des produits qui ont "hommes bottes jaune" en eux.L'agrégation Elasticsearch n'est pas appliquée aux filtres
La requête ci-dessous fonctionne parfaitement, mais je n'obtiens pas les bons résultats d'agrégation. Cela me donne toutes les marques où je suis seulement intéressé par les marques.
{
"size": 15,
"from": 0,
"query": {
"query_string": {
"query": "men boots yellow"
}
},
"filter": {
"bool": {
"must": [{
"match": {
"active": 1
}
}, {
"match": {
"category": "men_fashion"
}
}, {
"match": {
"category": "men_shoes"
}
}]
}
},
"aggs": {
"brands": {
"terms": {
"size": 100,
"field": "brand"
}
}
}
}
Je pense que cela pourrait être dû au filtre que j'ai appliqué, mais si cela est en quelque sorte compliqué je suis ok avec l'aide d'une simple requête qui y parviennent sans les filtres.
Je pense que u le paramètre manqué requête. Mais c'est parfait. Merci Val. J'ai une autre question liée à elasticsearch qui m'embête depuis un mois. Vous pouvez trouver ma question ici https://stackoverflow.com/questions/46463938/how-to-get-all-agrgregations-by-avoiding-1-filter-from-the-elasticsearch-query. Fondamentalement, il s'agit d'une sélection multiple d'agrégations. quand je clique sur un filtre, par exemple la couleur: doré. Il supprime toutes les autres agrégations et me montre juste cette couleur dorée. Mais les sites comme Amazon ont plusieurs couleurs à sélectionner. Y at-il quelque chose de simple que l'agrégation filtrée –
Woopsie, mon mauvais, fixe, merci! – Val
Après quelques tests j'ai réalisé qu'il y a quelque chose qui ne va pas avec la requête. Je ne suis pas capable de rechercher la plupart des phrases. Comment puis-je modifier cela afin que tout ce qui est un peu pertinent devrait être montré –