Эффективный способ запроса нескольких терминов - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь запросить поле для точного соответствия, которое возвращает несколько документов. Я не уверен, какой из следующих вариантов более эффективен.

Вариант 1: с помощью простого запроса терминов, Вариант 2: ИЛИ в bool, Вариант 3: фильтровать запрос внутри запроса

"query": {
    "terms": {
      "filed01.name": [
        "ABC",
        "DEF"
      ]
    }
  }

Option 2:
"query": {
    "bool": {
      "should": [
        {
          "match": {
            "field01.name": "ABC"
          }
        },
        {
          "match": {
            "field01.name": "DEF"
          }
        }
      ]
    }
  }

Option 3:
{
  "query": {
    "bool": {
      "filter": {
        "terms": {
          "field01.name": [
            "ABC",
            "DEF"
          ]
        }
      }
    }
  }
}```

1 Ответ

0 голосов
/ 12 июля 2019

Я бы посоветовал перейти к запросу + фильтру + условиям, так как вам нужно точное совпадение с любым из ABC ИЛИ DEF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...