2017-04-06 68 views
0

我想彙總一個字段並只返回doc數在10到20之間的那些存儲區,例如,帶範圍doc數的Elasticsearch術語彙總

從文檔到目前爲止,它說我們可以提供min_doc_count參數。

有什麼辦法可以提供max_doc_count也是這樣我只得到需要的水桶?

感謝

+1

您可能需要調查[鬥選擇管道聚集(https://www.elastic.co/guide/en/elasticsearch/reference/current/search- aggregations-pipeline-bucket-selector-aggregation.html) – Val

回答

1

您可以使用下面的查詢使用bucket_selector聚集過濾桶。您可以深入瞭解管道聚合和桶路徑here

在下面的示例中,我彙集了product.name字段中的文檔,其中product爲我的對象類型。

{ 
    "size": 0, 
    "aggs": { 
     "values": { 
      "terms": { 
       "field": "product.name.raw", 
       "size": 10 
      }, 
      "aggs": { 
       "final_filter": { 
        "bucket_selector": { 
         "buckets_path": { 
          "values": "_count" 
         }, 
         "script": "params.values > 10 && params.values < 20" 
        } 
       } 
      } 
     } 
    } 
} 

希望這有助於 感謝

+0

我愛你bro你真棒:D –