elasticsearch - 如何使用无痛脚本访问 Elastisearch 中范围数据类型的数据
问题描述
我有以下映射配置
"some_range": {
"type": "integer_range"
}
它有如下数据
"some_range": [
{
"gte": 100,
"lte": 200
},
{
"gte": 300,
"lte": 400
}
}
我正在尝试构建一个查询,该查询将基于此范围信息返回一个布尔字段,例如查询看起来像这样:
"script_fields" : {
"within_range" : {
"script" : {
"inline": "doc['some_range.gte'].value > params.my_range && doc['some_range.lte'].value < params.my_range",
"lang": "painless",
"params": {
"my_range": 150
}
}
}
}
预期回报是这样的
"fields": {
"within_range": [
true
]
}
但我尝试的查询给了我这个错误:
Fielddata is not supported on field [some_range] of type [integer_range]
我想知道编写无痛脚本的正确方法是什么,以及如何访问 ElasticSearch 中范围类型数据结构中的字段
解决方案
推荐阅读
- apache-spark - Spark Streaming - 作业持续时间与提交
- javascript - 通过从“thens”尖端“拖尾”的级联函数传递承诺?
- javascript - 即使未定义,也检查嵌套键是否存在
- c# - C# 如何在 DLL 中公开事件
- arrays - VBA 中的数组公式
- nginx - 将网站页面的所有 nginx 重定向写入单个位置块
- angular - 如何修改数据表过滤器在 Angular Material 中的工作方式?
- svg - Inkscape 0.92 - 如何获取 SVG 路径坐标?
- php - webapi 在 php(和 perl)中发生 405 错误
- bitbucket - Bitbucket 删除提交