这是我第一次提问。
我打算使用Elasticsearch来存储我拥有的某些数据。 我面临的问题是我需要将字段的值存储为可容忍的范围。 像这样- 字段名称 - 耐受pH 示例值 - 5.1 - 7.0
我需要像这样保存它,当执行查询时,它必须查看输入的值是否在范围内。
我在参考和指南中找不到它。 我找到的只是范围过滤器。 有人可以帮帮我吗? 并指导我如何做到这一点?
答案 0 :(得分:0)
我会创建两个字段
{ ...
"minToleratedPh": 5.1,
"maxToleratedPh": 7.0
}
然后使用两个range
查询来检查约束minPh < input_value < maxPh
是否成立(只需用pH值替换input_value
来检查):
{
"query": {
"bool": {
"filter": [
{
"range": {
"minToleratedPh": {
"lt": input_value
}
}
},{
"range": {
"maxToleratedPh": {
"gt": input_value
}
}
}
]
}
}
}