gpt4 book ai didi

ElasticSearch - 如何在聚合查询中显示附加字段名称

转载 作者:行者123 更新时间:2023-11-29 02:43:44 24 4
gpt4 key购买 nike

如何在我的输出存储桶中添加一个名为“agency_name”的新 key 。

我正在运行如下所示的聚合代码

{
"aggs": {
"name": {
"terms": {
"field": "agency_code"
}
}
}
}

我会得到输出作为

"aggregations": {
"name": {
"doc_count_error_upper_bound": 130,
"sum_other_doc_count": 39921,
"buckets": [
{
"key": "1000",
"doc_count": 105163
},
{
"key": "2100",
"doc_count": 43006
}
]
}
}

在展示的时候我需要展示机构名称,代码和doc_count

如何修改聚合查询以便获得以下格式。我是 ElasticSearch 的新手,不知道如何解决这个问题

"aggregations": {
"name": {
"doc_count_error_upper_bound": 130,
"sum_other_doc_count": 39921,
"buckets": [
{
"key": "1000",
"doc_count": 105163,
"agency_name": 'Agent 1'
},
{
"key": "2100",
"doc_count": 43006,
"agency_name": 'Agent 2'
}
]
}
}

ElasticSearch 中的示例数据(分析字段)

{

"_index": "feeds",
"_type": "news",
"_id": "22005",
"_version": 1,
"_score": 1,
"_source": {
"id": 22005,
"name": "Test News",
"agency_name": "Agent 1",
"agency_code": "1000",
}

}

最佳答案

您可以像下面的链接一样使用热门点击聚合。格式会略有不同,因为创建额外聚合会将机构名称嵌入到另一个“命中”键下。

Adding additional fields to ElasticSearch terms aggregation

{
"aggs": {
"name": {
"terms": {
"field": "agency_code"
},
"aggs": {
"agency_names" : {
"top_hits": {
size: 1,
_source: {
include: ['agency_name']
}
}
}
}
}
}
}

关于ElasticSearch - 如何在聚合查询中显示附加字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721757/

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