2014-06-24 5 views
0

J'ai eu un problème où j'ai besoin d'effectuer une recherche basée sur différents champs. Par exemple, Sur l'interface utilisateur, l'utilisateur donne plusieurs options de recherche comme nom de l'entreprise, département, état/province, titre et région .ElasticSearch et Agrégation

L'utilisateur sélectionne quelques-unes de ces options comme le nom de la société, le département, l'état. Je dois effectuer la recherche sur ces champs et retourner les résultats. Puis-je faire cela avec l'aide de l'agrégation dans la recherche élastique? Quelqu'un peut-il me donner un exemple détaillé sur la façon dont cela peut être fait.

j'ai fait quelques exemples comme l'agrégation sur l'exécution gender.the requête est la suivante: - "aggs": { "group_by_gender": { "termes": { "champ": "genre"}}

Lorsque j'ai exécuté ce type de requête, toutes les sources (à partir des documents) ont été renvoyées. Donc, j'étais un peu confus si l'agrégation est réellement effectuée.

Merci à l'avance

Répondre

0

Aggregations sont destinés à faire des statistiques sur les valeurs des champs. Si vous devez rechercher des documents en fonction des champs, vous devez effectuer des requêtes (boolean).

Exemple:

POST myIndex/_search 
{ 
    "bool" : { 
     "must" : [ 
      {"term" : { "name" : "kimchy" }}, 
      {"term" : { "state" : "unicorn planet" }} 
     ] 
    } 
} 
Questions connexes