【发布时间】:2020-11-07 19:34:45
【问题描述】:
我在foo 索引中有这样的实体:
{ids: ["aa", "bb"]}
{ids: ["aa", "cc"]}
{ids: ["ee"]}
{ids: ["ff" , "cc"]}
基本上我想知道是否有 ID 为 aa 和 ee 的文档。
我试图用术语聚合来做到这一点
{
"size": 0,
"query": {
"bool": {
"should": [
{
"terms": {
"ids": [
"aa", "ee"
],
"boost": 1
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"aggregations": {
"byid": {
"terms": {
"field": "ids",
"min_doc_count": 1
}
}
}
}
但这里的问题是,作为响应,我还与所选实体拥有的其他 ids 进行了聚合,并且在实际案例中有很多,因此我感兴趣的 ids 的聚合无法进入响应,我会认为没有适合他们的项目(但实际上有,但由于术语大小限制而没有响应)
我可以为每个id 单独做一个没有 aggs 的只是得到一个 count,但是它们有很多而且会非常昂贵。
【问题讨论】:
标签: elasticsearch elasticsearch-query