簡體   English   中英

Elasticsearch聚合

[英]Elasticsearch aggregations

我正在嘗試使用elasticsearch構建類別明細。

顯示類別計數時出現問題。

如果我運行此查詢(紅色,休閑褲),則類別匯總將僅顯示便裝的計數。 我可以在一個查詢中檢索其他類別的數量(例如鞋子,牛仔褲,衣服)嗎?

過濾器示例:

顏色:

-紅色(選擇為布爾查詢詞)

分類:

Shoes
Pants
    -Jeans
    - Casual (selected as a bool query term)
Dresses

據我了解,您似乎需要計算所有類別的匯總,然后對其進行過濾以一次僅顯示一個類別。

這可以使用post_filter來實現(請參閱文檔 )。 這是一個過濾器,用於計算匯總應用。

在您的情況下,不要像這樣查詢:

{
  "query": {
    "bool": {
      "must": [
        {"term": {"color": "red"} },
        {"term": {"category": "casual"}}
        ....
      ]
    }
  }, 
  "aggs": {
    ...
  }
}

您使用此:

{
  "query": {
    "bool": {
      "must": [
        {"term": {"color": "red"} }
        ...
      ]
    }
  }, 
  "aggs": {
    ...
  },
  "post_filter": {
    {"term": {"category": "casual"}}
  }
}

在計算聚合時,不會考慮termcategory過濾器”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM