gpt4 book ai didi

elasticsearch - Elasticsearch计数值在范围内的文档

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

我有一组文档,每个文档都有最小和最大数值字段,例如

{ min: 50, max: 100 },
{ min: 75, max: 125 },
{ min: 75, max: 150 },
...

我事先知道最大可能的最大值是多少。我想做的是存储桶聚合,以计算文件的最小和最大值之间包含存储桶值的文档数量(就本例而言,包括在内)。例如,如果我有带 key 的水桶
60, 80, 100, 120, 140, 160

我想分别返回doc_counts个:
1, 3, 3, 2, 1, 0

我觉得用脚本进行范围聚集使我接近了,但是我不确定如何到达那里。也许我需要子聚合?

最佳答案

这里需要一个filters聚合,其中每个键对应一个单独的过滤器。这是两个键的示例

{
"aggs": {
"ranges": {
"filters": {
"filters": {
"60": {
"bool": {
"must": [
{
"range": {
"min": {
"gte": 60.0
}
}
},
{
"range": {
"max": {
"lt": 60.0
}
}
}
]
}
},
"80": {
"bool": {
"must": [
{
"range": {
"min": {
"gte": 80.0
}
}
},
{
"range": {
"max": {
"lt": 80.0
}
}
}
]
}
}
}
}
}
}
}

我认为没有简单的方法,因为您的范围位于文档中的单独字段中

关于elasticsearch - Elasticsearch计数值在范围内的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43646540/

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