Пытаюсь заставить sphinx корректно искать с дефисом и без, никак не выходит - при разных настройках разный результат, но всегда неправильный :)
При выполнении команды
indextool --dumpdict services | grep верх
вижу вот такой результат:
Как видите, слово "верх" повторяется дважды, сначала с каким-то огрызком символа в начале, а потом нормально.
При выполнении
indextool --dumpdict services | grep исетская
получаю:
Искать пытаюсь словосочетание "верх-исетская", в БД эта услуга называется "УК Верх-Исетская (ЗАО)(ком. услуги)", моя задача сделать так, чтобы она одинаково хорошо искалась и с дефисом и без. В БД при этом есть ещё несколько услуг, в названии которых содержится "верх-исетский" и "верх-исетского", они почему-то ранжируются выше, чем искомая.
Могут ли эти огрызки в начале ключевых слов быть причиной моих проблем и как с таким поведением бороться?
Вот мой конфиг, на всякий случай:
index services
{
source = services
path = /var/lib/sphinxsearch/data/services
docinfo = extern
morphology = stem_enru
min_stemming_len = 1
min_word_len = 1
min_infix_len = 1
html_strip = 1
index_exact_words = 1
expand_keywords = 1
mlock = 0
charset_table = 0..9, A..Z->a..z, a..z, U+2C->U+2E, U+2E, U+0044, U+0046, U+0130, U+0401->U+0435, U+0451->U+0435, U+410..U+42F->U+430..U+44F, U+430..U+44F
}