@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 их сортирует по умолчанию?
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 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...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 300 000 до 400 000 ₽
LIME Москва
от 280 000 до 350 000 ₽
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект