【问题标题】:Elasticsearch how can perform a "TERMS" AND "RANGE" query togetherElasticsearch 如何同时执行“TERMS”和“RANGE”查询
【发布时间】:2020-12-31 13:05:57
【问题描述】:

在弹性搜索中,我可以很好地使用术语查询在一个查询中搜索多个 ID, 我的原始条款查询

{
  "query": {
    "terms": {
      "Id":  ["134","156"],
      
    }
  }
}

但是,我需要添加一个额外的条件,如下所示:

{   
    "query": {
        "terms": {
            "id": ["163","121","569","579"]
                },        
        
            "range":{
                    "age":
                    {"gt":10}
                }
            }            
}  

“id”字段可以是一个长数组。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您可以使用bool query 组合这两个查询

    {
      "query": {
        "bool": {
          "must": [
            {
              "terms": {
                "Id": [
                  "134",
                  "156"
                ]
              }
            },
            {
              "range": {
                "age": {
                  "gt": 10
                }
              }
            }
          ]
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-06-25
      • 2022-01-14
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多