Elasticserach запрос, чтобы найти документ с полями, которые затуманиваются или имеют какое-то значение - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь сформировать запрос, в котором, если поле региона отсутствует или регион имеет значение ASIA, перечислить весь документ. но его ответ - пустой список, если я выполню запрос. Как мы можем сформировать такой запрос?

{
  "query": {
    "bool": {
      "must": {
        "match": {
          "region": "ASIA"
        }
      },
      "must_not": {
        "exists": {
          "field": "region"
        }
      }
    }
  }
}

1 Ответ

1 голос
/ 02 октября 2019

Вы хотите, чтобы должен в этом случае

bool -> следует -> условие1, условие2

следует = ИЛИ, поэтому ниже будут соответствовать документычто либо соответствует условию1 ИЛИ условию2

{
  "query": {
    "bool": {
      "should": [
        {
          "terms": {
            "region": [
              "asia"
            ]
          }
        },
        {
          "bool": {
            "must_not": [
              {
                "exists": {
                  "field": "region"
                }
              }
            ]
          }
        }
      ]
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...