gpt4 book ai didi

elasticsearch - 脚本字段上的ElasticSearch聚合

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

我在 flex 查询中添加了一个脚本文件,称为“年龄”,其定义如下:

  "script_fields" : {
"age" : {
"script" : "DateTime.now().year - doc['date_of_birth'].date.year"
}
}

现在,我也为每个人提供了另一个字段,称为“myscore”。
我试图在myscore上进行汇总,并创建年龄的子集合。
我应该希望看到的结果是这样的:
key: 25
buckets: [
67,
70,
74
]
key: 62
buckets: [
45
]

我添加了此聚合:
{
"myagg": {
"terms": {
"field": "myscore",
"size": 1000,
"order": {
"_count": "desc"
}
},
"aggregations": {
"inner": {
"terms": {
"field": "age",
"size": 1000
}
}
}
}
}

但是该年龄段的内部存储桶返回为空(在点击数本身中,我可以看到“年龄段”字段)...

有任何想法吗?

最佳答案

您需要在聚合中使用脚本:

"aggs" : {
"myagg": {
"terms": {
"field": "myscore",
"order": {
"_count": "desc"
}
},
"aggregations": {
"group by age": {
"terms": {
"script": "DateTime.now().year - doc['dateCreated'].date.year"

}
}
}
}
}

希望这能够帮到你..

关于elasticsearch - 脚本字段上的ElasticSearch聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35869081/

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