我的索引约为540万个文档,其中重复的文档ID具有更新的值和更新的时间戳。因此,同一文档中存在许多具有更新值和更新时间的文件。
我已经完成了一项术语+热门歌曲汇总,以获取每个文档的最新更新值和时间戳:
{
"track_total_hits": true,
"size": 0,
"aggs": {
"group": {
"terms": {
"field": "documentId.keyword"
},
"aggs": {
"latest": {
"top_hits": {
"sort": [
{
"updateDateTime": {
"order": "desc"
}
}
],
"size" : 1
}
}
}
}
}
}
当我在其上添加另一个汇总时,它给了我文档的总数,而忽略了上面的汇总。
{
"track_total_hits": true,
"size": 0,
"aggs": {
"value_count": {
"terms": {
"field": "value.keyword",
"size": 200000
},
"aggs": {
"group": {
"terms": {
"field": "documentId.keyword",
},
"aggs": {
"latest": {
"top_hits": {
"sort": [
{
"updateDateTime": {
"order": "desc"
}
}
],
"size" : 1
}
}
}
}
}
}
}
}
我该如何对上面的代码进行汇总,以仅通过每个文档的最新值而不是所有文档的值来计数值?
最终结果将是这样的:
计数仅考虑每个文档的最新版本,即计数中没有重复的documentId。
谢谢。