Elasticsearch:在字段中存储一系列值



这是我第一次问问题。

我计划使用Elasticsearch来存储我所拥有的某些数据。我面临的问题是,我需要将字段的值存储为可容忍的范围。像这样-字段名称-耐受pH示例值-5.1-7.0

我需要这样保存它,当执行查询时,它必须查看输入的值是否在范围内。

我在参考资料和指南中找不到它。我只找到范围过滤器。有人能帮帮我吗?并指导我如何做到这一点?

我将创建两个字段

{ ...
  "minToleratedPh": 5.1,
  "maxToleratedPh": 7.0
}

然后使用两个range查询来检查约束minPh < input_value < maxPh是否成立(只需将input_value替换为要检查的pH值):

{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "minToleratedPh": {
              "lt": input_value
            }
          }
        },{
          "range": {
            "maxToleratedPh": {
              "gt": input_value
            }
          }
        }
      ]
    }
  }
}

最新更新