sphinx soundex cp1251

Почему-то не работал soundex-поиск по транслиту, который я делал SQL-запросу во время формирования индекса, начал разбираться и оказалось все просто, а именно, вот моменты, которые обязательно должны быть выполнены:

1. Поле таблицы должно быть в cp1251, например cp1251_general_ci

2. Файл конфигурации sphinx.conf должен быть сохранен в кодировке windows-1251

3. В конфиге источника должна быть указана кодировка общения с mysql, например:

source mySource
{
    ...
    sql_query_pre = SET NAMES cp1251
    ...
}

4. В конфиге нужно правильно указать тип кодировки данных, вместо windows-1251 нужно писать sbcs, например:

index myIndex
{
    ...
    charset_type = sbcs
    ...
}

5. Желательно укажать кодировку таблицы символов:

index myIndex
{
    ...
    charset_table = 0..9, A..Z->a..z, _, a..z, U+A8->U+B8, U+B8, U+C0..U+DF->U+E0..U+FF, U+E0..U+FF
    ...
}

вот и всё, теперь # indexer --rotate --all и поиск созвучностей должен заработать.

Оцени публикацию:
  • 0,0
Оценили: 0
Теги : sphinx, soundex, cp1251

Предложения и пожелания:

 

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2019 YaPro.Ru

Лебеденко Николай Николаевич
Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter