2017-04-04 1 views
0

Je me demandais s'il était possible de récupérer les clés/compteurs d'agrégation pour les documents qui ne font pas partie de la réponse. Je veux dire les documents qui ont été placés dans le champ sum_other_doc_count.ElasticSearch Multi Aggregation

Mon code pour l'agrégation est la suivante:

AggregationBuilder agg = AggregationBuilders.terms("AGG_1").field("field1") 
      .subAggregation(AggregationBuilders.terms("AGG_2").field("field2") 
        .subAggregation(AggregationBuilders.terms("AGG_3").field("field3") 
          .subAggregation(AggregationBuilders.terms("AGG_4").field("field4")))); 

J'ai 5 documents sur la AGG_2 qui ne font pas partie de la réponse, mais je les ai besoin autant que les autres.

"AGG_1": { 
    "doc_count_error_upper_bound": 0, 
    "sum_other_doc_count": 0, 
    "buckets": [ 
     { 
      "key": "404", 
      "doc_count": 3506, 
      "AGG_2": { 
       "doc_count_error_upper_bound": 0, 
       "sum_other_doc_count": 0, 
       "buckets": [ 
       { 
        "key": "OK", 
        "doc_count": 1206, 
        "AGG_3": { 
         "doc_count_error_upper_bound": 0, 
         "sum_other_doc_count": 5, 
         "buckets": [ ... 

Merci pour votre aide!

Répondre

0

Vous pouvez définir une valeur différente pour sizeterms aggregations pour spécifier combien de seaux par vous voulez obtenir

{ 
    "aggs" : { 
     "AGG_1" : { 
      "terms" : { 
       "field" : "field1", 
       "size" : 20 // override the number of buckets to return 
      } 
     } 
    } 
} 
+0

Merci! Je vais essayer ça. – Cylon

+0

Y at-il un moyen de deviner la taille exacte que nous devrions mettre? Je veux dire, je ne savais pas combien de données je vais récupérer si ... – Cylon

+0

Il semble pas. Comme solution de contournement, vous pouvez obtenir le nombre de valeurs distinctes en utilisant l'agrégation 'cardinality' mais même cette valeur n'est pas garantie d'être précise https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics -cardinality-aggregation.html – Random