В настоящее время я работаю над поисковый движок для сайта, который использует PHP API запрашивая в Elasticsearch 5.6 индекс.
Я давно застрял на конкретном запросе, и поэтому мне нужна помощь сообщества.
Позвольте мне привести некоторые подробности:
Меня попросили создать запрос, поэтому всякий раз, когда пользователь вводит значение в это поле, я должен получить следующие результаты:
Поля, которые я запрашиваю, соответственно названы nom.unsplit, nom.ngram, nomNaissance.unsplit, nomNaissance.ngram
Я пытался этот запрос, который дает идеальные результаты для поиска по имени рождения, но не смог найти фамилию (очевидно). И если я добавлю 2 других поля в запрос, результаты все равно не будут удовлетворительными, потому чтоasticsearch дает лучший показатель релевантности, если фамилия совпадает, чем если имя совпадает.
Я также пробовал запросы constant_score с фильтром и повышением. Это работает, но только если я ищу 100% результат.
Я попытался объединить запрос bool и запрос с постоянной оценкой, но не могу заставить его работать.
Я хотел бы добавить, что поисковая система содержит больше полей, поэтому мне нужно иметь возможность вставить этот конкретный запрос в больший запрос bool, который собирает все подзапросы, которые я уже использую.
Я воспользуюсь любым советом и предоставлю дополнительную информацию, если это необходимо.
Задача ещё не решена.
Других решений пока нет …