@kirill-93

Как заставить elasticsearch работать правильно?

Пытаюсь разобраться с ES, установил, создал документ с одним полем name. Заполнил.
Пытаюсь сделать такой запрос:
http://localhost:9200/idx/artists/_search?q=name:system&sort=name:asc&size=20

То есть ищу записи по значению "system".
Получаю вот такой результат:

009 Sound System
System 7
System 84
System of a Down
Abhorrent System
Afro Celt Sound System
Alif Sound System
System and Station
Fear and the Nervous System
Sex and Sound System
Anima Sound System
C.A.N.S. Central Asian Nervous System
Attention System
SELL SYSTEM BAND
Basement Sound System
Dynamik Bass System
Wicked Beat Sound System
Belgradeyard Sound System
Black Rose Sound System
Kid Blast Sound System

А я ожидаю увидеть сначала группы, которые начинаются со слова system, а получаю непонятно что. Как отсортировать результаты? И как вообще ES их сортирует по умолчанию?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Vdm17
PHP Developer
Скорее всего ES выполнил стандартный поиск с помощью Term Query. В этом случае не происходит никакой сортировки, кроме как по "score" (по релевантности).
Для вашего случая вам скорее надо использовать
Prefix Query - https://www.elastic.co/guide/en/elasticsearch/refe...
или
Match Phrase Prefix Query - https://www.elastic.co/guide/en/elasticsearch/refe...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы