Поисковый движок?

Недавно мне понадобился поиск с опечатками и тп. Поставил elasticsearch. Из коробки поиск работает хорошо, но у меня никак не получилось отсортировать результат по алфавиту. Например, есть словосочетания:
System of a down
My own system
System 27
Presystem
Systemode

Мне нужно, чтобы пользователь, написав "system" получил в первую очередь строки, которые начинаются с этого слова. Эластиксёрч же по умолчанию индексирует каждое слово в словосочетании отдельно и выдает результат не так как мне нужно. Я пробовал менять токенайзер и тп. Пробовал примерно так:
{
    "settings": {
        "index": {
            "analysis": {
                "analyzer": {
                    "analyzer_startswith": {
                        "tokenizer": "keyword",
                        "filter": "lowercase"
                    }
                }
            }
        }
    },
    "mappings": {
        "test_index": {
            "properties": {
                "title": {
                    "search_analyzer": "analyzer_startswith",
                    "index_analyzer": "analyzer_startswith",
                    "type": "string"
                }
            }
        }
    }
}


И искать с помощью match_phrase_prefix. Но в этом случае перестает работать поиск с опечатками. В общем как я только не эксперементировал, мне не удалось настроить такую простую вещь. Документация у эластика ужасная!
Подскажите, как с этим у других движков, типа сфинкса или солр? Проще в плане настройки.
Каким движком пользуетесь вы?
  • Вопрос задан
  • 1893 просмотра
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
PeoplePass Москва
от 150 000 до 250 000 руб.
TalentTech Москва
от 200 000 до 300 000 руб.
ManyChat Москва
от 180 000 до 250 000 руб.
06 дек. 2019, в 21:54
30000 руб./за проект
06 дек. 2019, в 21:12
450000 руб./за проект
06 дек. 2019, в 20:32
500 руб./за проект