результат выглядит неверно при поиске с параметром

#elasticsearch

#elasticsearch

Вопрос:

Я работал над ES 7.10.1, и у меня есть следующий простой поисковый запрос:

GET /megacorp/_doc/_search?q= last_name:"smith" first_name:"jane"

Я думаю, что я указал and условие, которое означает: выполняются только оба условия, тогда документ будет запрошен

но я получил два документа обратно:

Первый:

   "first_name" : "Jane",
  "last_name" : "Smith",
 

второй:

   "first_name" : "John",
  "last_name" : "Smith",
 

Второй совпадает только с last_name, а не с first_name , я не уверен, почему этот документ также запрашивается.

Ответ №1:

Вы можете использовать предложение boolean query must with, которое упрощает понимание синтаксиса вашего запроса. почему вы работаете с синтаксисом Lucene, который отличается от понимания?

В вашем случае, похоже, это работает, поскольку OR , следовательно, оба результата приходят.

Комментарии:

1. Конечно, спасибо, я знаю search api с телом запроса, сейчас я изучаю ES и экспериментирую с search api с параметром запроса…