繁体   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