Ну, вы можете включить как metaphone
, так и min_prefix_len
по индексу сразу. Это будет какая-то работа.
falange*
мог бы тогда просто сработать. (Чтобы соответствовать phalanges
)
Проблема заключается в том, что «зачищенные» буквы могут изменить «звук» слова (так как изменить произношение)
например фаланга становится FLNJ
, но FalAng acully становится FLNK
- поэтому они не более длинные «подстроки» друг друга. (Т.е. фаланги становится FLNJS
, который FLNK*
обыкновение матч)
... если честно, я не знаю, хорошее решение. Возможно, вы могли бы получить лучшие результаты, если бы это было нужно применить, перед метафоном. (Так окончания, которые меняют pronouncation слов будут удалены.
Увы Sphinx не может это сделать. Если вы включите вытекающие и метафон вместе, только один из процессоров будет когда-либо огнь.
Два возможных решения, реализуемые за пределами сфинкса (или, возможно, с помощью regexp_filter. Не уверен, что скажем, что стример портера может быть реализован исключительно с помощью регулярных выражений)
или изменить сфинкс, чтобы применить все морфологические процессоры (а не только первый, который меняет слово)
Здравствуйте, большое вам спасибо за длинный ответ. Мы уже пробовали 'min_prefix_len', но не достигли желаемого результата. Это как-то даже отключает функцию «метафона». Я собираюсь поиграть со стеблем, чтобы посмотреть, какой результат я получу с ним, но, как вы сказали, я могу включить только «метафон» или стволовую клетку. Использование его вне Сфинкса или даже изменение Sphinx выглядит довольно сложно. Это такой редкий случай использования? Я не понимаю, почему нет более правильного решения. – JoKer
ОК, может быть, ошибся в том, как эти два взаимодействия. По моему опыту, он довольно редко, только во второй раз видел что-то подобное. Посмотрите последнее сообщение http://sphinxsearch.com/blog/2014/11/26/sphinx-text-processing-pipeline/ - есть дом, в котором может справиться будущая версия сфинкса. – barryhunter