Elasticsearch полнотекстовый поиск - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь создать полнотекстовый поисковый запросasticsearch, который соответствует следующим правилам.

  • Запрос должен запустить поиск по всем полям в индексе.
  • Результаты должны иметь все слова из запроса в виде слова или префиксов.
  • Результаты, содержащие слова из запроса в виде слов вместо префикса, должны иметь больший приоритет в результатах.

Этоэто то, что у меня сейчас есть для поискового запроса "Джон Доу", и он работает:

{
   "query":{
      "query_string":{
         "query":"(john AND doe) OR (john AND doe*) OR (john* AND doe) OR (john* AND doe*)",
         "fields":[
            "*",
            "firstName^2",
            "lastName^2"
         ],
         "lenient":true
      }
   }
}

Я делаю это правильно или есть лучший способ сделать это?

...