Sphinx и странное поведение при исполользовании exceptions(слов исключений)
Начитался в документации про словоформы, стоп-слова и исключения и решил улучшить поиск.
Возникли некоторые проблемы с wordforms:
Слово: year2000
year 2000 > year2000 | всё классно
Слово: year 2000
year2000 > year 2000 | всё плохо, результаты как-будто тольо по year
и
exceptions:
Слово: year 2000
year2000 => year 2000 |всё плохо
Как я понял, у сфинкса какие-то сложности с пробелами в правой части выражений. Кавычки пробовал- не помогают.
Пример из доков по исключениям: AT & T => AT&T
AT&T => AT&T
Standarten Fuehrer => standartenfuhrer
Standarten Fuhrer => standartenfuhrer
MS Windows => ms windows
Microsoft Windows => ms windows
C++ => cplusplus
c++ => cplusplus
C plus plus => cplusplus
Насколько я понимаю, фразы Microsoft Windows и ms windows должны выдавать одинаковое количество результатов. На моем Sphinx 0.9.9-release (r2117) при SPH_MATCH_EXTENDED и SPH_RANK_PROXIMITY_BM25 запрос по «ms windows» возвращает ничего(как и year 2000).
В документации sphinxsearch.com/docs/manual-2.3.2.html#conf-wordforms сказано, что для справочника wordforms допустимы несколько токенов в правой стороне правила с версии 2.2.4. Проверено, что пробелы допускаются, но не допускаются другие разделители из параметра blend_chars.