[英]elasticsearch term aggregation with filtering
我在foo
索引中得到了这样的实体:
{ids: ["aa", "bb"]}
{ids: ["aa", "cc"]}
{ids: ["ee"]}
{ids: ["ff" , "cc"]}
基本上我想知道是否有 ids 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
,但它们有很多,而且会非常昂贵。
基于聊天,发现没有包含id的文档是不需要的,因此不需要聚合,现在搜索结果中是否存在特定的id是主要问题。
有几种方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.