如何在ElasticSearch中使用OR和AND

ilmyapht  于 2022-10-06  发布在  ElasticSearch
关注(0)|答案(1)|浏览(188)

我有:

[
{
    "example_1": false,
    "example_2": "example_string_1",
    "example_3": "example_string_2",
    "example_4": "example_string_3"
},

我需要写一个python脚本,但现在在 Postman 中测试它。我只需要打印块:

与(‘FALSE’Example_1)and(Example_2,具有两个特定字符串之一)and(Example_3,具有6个特定字符串之一)

我在测试一些代码片段

{
  "default_field" : "example_1",
  "query": "example_string_1"

运行良好,但我不知道如何添加多个条件。我在 Postman 的《身体》中用到了这个词,大概是这样的:

{"query": (example_1:example_string_1 AND example_2:example_string_2) OR ...}

真的很好(查询DSL)。

tnkciper

tnkciper1#

我认为这个问题可以作为一个开始。如果要使用或使用should,请使用must

{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "example_1": false
          }
        },
        {
          "terms": {
            "example_2": [
              "VALUE1",
              "VALUE2"
            ]
          }
        },
        {
          "terms": {
            "example_3": [
              "VALUE1",
              "VALUE2"
            ]
          }
        }
      ]
    }
  }
}

相关问题