Поиск фиксированных числовых значений в ElasticSearch - PullRequest
0 голосов
/ 04 ноября 2019

Если я хочу документы, где somefield - 12345, тогда я могу либо "query": { "term" : {"somefield" : {"value": 12345 }}}, либо "query": {"match" : {"somefield": 12345 }}. Какой из них быстрее?

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете использовать term запрос, только если вы индексируете его как keyword или один из numeric типов, и он будет быстрее, чем match. Самым быстрым будет запрос filter. Это не влияет на оценку документов.

{
  "query": {
    "bool": {
      "filter": {
        "term": {
          "somefield": {
            "value": 12345
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...