如何在elasticsearch中使用OR运算添加多个存在字段

ray*_*man 10 elasticsearch

我有以下查询:

{
  "query": {
    "exists": {
      "field": "field1"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望我的查询能够以我可以添加另一个过滤器的方式进行修改,现有字段之间的"OR"操作.

知道怎么做吗?

谢谢.

小智 18

您可以使用布尔查询使用should.

{
    "query": {
        "bool": {
            "should": [{
                "exists": {
                    "field": "field1"
                }
            },
            {
                "exists": {
                    "field": "field2"
                }
            }
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • Q/A 有点老了,但是为了至少有一个字段具有值,“minimum_should_match”将是一种可行的方法 (2认同)