如何在 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
。
嵌套字段名称是交易。
每个文档都有一个交易列表。
我想汇总一下交易的数量。我寻求的信息是超过一笔交易的文件数量。
我尝试了以下方法:
"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
。