我有一个字段location.vertical.depth.value
,它是一个float_range
字段。我希望Elasticsearch返回所有查询结果中该字段的最小下限。
示例文档可能是:
{
"location": {
"vertical": {
"depth": {
"value": {
"gte": 42.0,
"lte": 64.0
}
}
}
}
}
这是我的尝试
"aggs": {
"min_depth": { "min": { "field": "location.vertical.depth.value" } }
}
这引发异常:
类
org.elasticsearch.search.aggregations.support.ValuesSource$Range
无法转换为类org.elasticsearch.search.aggregations.support.ValuesSource$Numeric
有趣的是,尽管我可以对date_range
的{{1}}字段执行类似的操作。
答案 0 :(得分:1)
min
和max
对范围数据类型的汇总为currently not supported。替代方法是脚本,就像建议的@Jaycreation:
{
"size": 0,
"aggs": {
"min_depth": {
"min": {
"script": {
"source": "params._source.location.vertical.depth.value.gte;"
}
}
}
}
}