簡體   English   中英

如何聚合 ElasticSearch 中嵌套文檔的大小?

[英]How to aggregate on size of nested document in ElasticSearch?

嵌套字段名稱是事務。

每個文件都有一個交易清單。

我希望匯總交易數量。 我尋求的信息是具有多於一筆交易的文件數量。

我嘗試了以下方法:

"aggs": {
"tx_count": {
  "terms": {
    "script": {
      "inline": "if(doc['transactions'].size>1){return 1;} else {return 0;}"
    }
  }
}

}

還嘗試在嵌套聚合中使用此聚合。 有沒有辦法做到這一點? 我目前使用的是 ES 版本 5.6。

您可以使用params._source來計算transactions長度:

{
  "size": 0,
  "aggs": {
    "tx_count": {
      "terms": {
        "script": {
          "inline": "if (params._source['transactions'].size() > 1) { return 1; } else { return 0; }"
        }
      }
    }
  }
}

順便說一句,它是.size() ,而不是.size

暫無
暫無

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

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