gpt4 book ai didi

elasticsearch - 获得满足条件的集合(不同值的列表)

转载 作者:行者123 更新时间:2023-12-02 23:27:37 25 4
gpt4 key购买 nike

我收到了产品文件。产品外观如下:

{
"_index": "1",
"_type": "product",
"_id": "1",
"_source": {
"group": "g1"
"exist": true
}
}

我正在尝试获取(所有产品的)组的列表-但是只有这些才能满足 "exist" == true(至少有一个现有产品的组)

我试过了:
{
"size": 0,
"aggs" : {
"_source" : {
"terms" : {
"field" : "group"
}
}
}
}

它返回具有其计数的组列表(这也是多余的,可能会花费额外的时间进行计算),但是我试图添加 "exist"=true的条件/查询。
  • 如何实现?
  • 我真的需要聚合吗? (有没有更有效的方法?)

  • 注意:我正在使用 flex 搜索1.4

    最佳答案

    在术语聚合中添加Filtered aggregation可以确保仅显示存在true的组。
    为了提高性能,请确保未对“组”字段进行“分析”

    例:

    {
    "size": 0,
    "aggs": {
    "exist_group": {
    "filter": {
    "term": {
    "exist": "true"
    }
    },
    "aggs": {
    "groups": {
    "terms": {
    "field": "group"
    }
    }
    }
    }
    }
    }

    关于elasticsearch - 获得满足条件的集合(不同值的列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41042506/

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