Elasticsearch:带有术语过滤器的嵌套聚合中的min_doc_count

时间:2018-06-26 18:19:00

标签: elasticsearch

我在最后一个聚合中有一个带有过滤器的嵌套聚合,其外观如下:

{  
   "aggs":{  
      "productFeatureValues":{  
         "nested":{  
            "path":"productFeatureValues"
         },
         "aggs":{  
            "pfv_ids":{  
               "terms":{  
                  "field":"productFeatureValues.id",
                  "size":"0",
                  "min_doc_count":1
               },
               "aggs":{  
                  "feature_id":{
                      "filter":{  
                         "term":{  
                           "productFeatureValues.productFeature_id":"5"
                        }
                     } 
                  }
               }
            }
         }
      }
   }
}

这是我得到的汇总:

{  
   "aggregations":{  
      "productFeatureValues":{  
         "doc_count":196,
         "pfv_ids":{  
            "doc_count_error_upper_bound":0,
            "sum_other_doc_count":0,
            "buckets":[  
               ...,
               {  
                  "key":112393,
                  "doc_count":13,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":608302,
                  "doc_count":13,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":43,
                  "doc_count":12,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":636604,
                  "doc_count":12,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":638186,
                  "doc_count":12,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":70,
                  "doc_count":9,
                  "feature_id":{  
                     "doc_count":9
                  }
               },
               {  
                  "key":124669,
                  "doc_count":9,
                  "feature_id":{  
                     "doc_count":0
                  }
               },
               {  
                  "key":72,
                  "doc_count":2,
                  "feature_id":{  
                     "doc_count":2
                  }
               },
               {  
                  "key":255439,
                  "doc_count":2,
                  "feature_id":{  
                     "doc_count":0
                  }
               }
               {  
                  "key":71,
                  "doc_count":1,
                  "feature_id":{  
                     "doc_count":1
                  }
               },
               {  
                  "key":73,
                  "doc_count":1,
                  "feature_id":{  
                     "doc_count":1
                  }
               }
            ]
         }
      }
   }
}

所以

"feature_id":{  
    "doc_count":0
 }

在最坏的情况下,可能有成千上万个,我想用feature_id排除所有doc_count:0聚合。有什么办法可以将"min_doc_count":1包含在过滤条件中?

0 个答案:

没有答案