gpt4 book ai didi

elasticsearch - 带过滤的Elasticsearch术语聚合

转载 作者:行者123 更新时间:2023-12-03 01:09:37 25 4
gpt4 key购买 nike

我在foo索引中得到了这样的实体:

{ids: ["aa", "bb"]}
{ids: ["aa", "cc"]}
{ids: ["ee"]}
{ids: ["ff" , "cc"]}
基本上我想知道是否有id的文档 aaee
我试图通过术语聚合来做到这一点
{
"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。
有两种方法:

  • 使用multi_search with a single id in each sub-request
  • 对所有id使用单个搜索请求,但使用脚本或source_filtering进行后处理,并在响应中搜索id。
  • 关于elasticsearch - 带过滤的Elasticsearch术语聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64726774/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com