Перейти к содержимому
Русский язык для Invision Community 5

Настройка Sphinx для IPB

Писална IBresource, но там по традиции тишина )) Для тех, кому туда не охота ходить в виде одного поста задублирую все сюда.

 

И так значит, решил настроить sphinx, собрал, запустил, вроде работает, но есть НО: не рабоатет с кирилицей "Поиск не дал результатов" и все тут. Соответственно "просмотр новых публикаций" тоже работать перестал.

Сюдауже посылали, прочитал, попробовал... charset_table у меня нигде не прописан в конфиге, конфиг дефотный был, сгенерированный IPB, charset_type изначально поменял scbs на utf8, но пробовал и дефолтное значение - не работает ессно, пробовал коментировать строчку эту вобще - так же не помогает. Если все таки прописать charset_table - какой вариант будет правильным? Или я вобще не о том думаю?

 

PS: Так же интересует вопрос, зачем Sphinx нужна xmlpipe2 ? Без нее нормально работать будет? Пока нет возможности ее поставить.

 

Всем заранее, спасибо!

Рекомендованные сообщения

1) Посмотрите в логах запросов (обычно /var/sphinx/log/query.log) как приходят запросы - в правильной ли кодировке.

 

2) charset_type следует заменить на "utf-8". С тире посередине. Проверьте.

 

3) Если 1 и 2 не помогло, значит у вас collation по-умолчанию не utf8, и sphinx неправильно читает строки из БД при построении своих таблиц. В конфиге предусмотрены предварительные запросы к БД при подключении. Нужно добавить в секцию source source ipb_source_config параметры:

              sql_query_pre                  = SET NAMES utf8
             sql_query_pre                  = SET character_set_results=utf8

И переиндексировать все.

 

Однако, лично мне эти параметры на 9.8 не помогли - sphinx их игнорировал. Т.к. у меня все сайты в utf8, то я тогда просто внес это в my.cnf, в секцию mysqld:

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_unicode_ci

Рестарт mysql, полное переиндексирование - и все работает. Заодно и снялись все возможные проблемы от использования IPS-версии форума :)

  • Автор

Выполнил все указанные действия.

По порядку:

Проверил конфиг - там на самом деле utf-8 с дефисом.

Добавил в конфиг -

 
sql_query_pre = SET NAMES utf8
sql_query_pre = SET character_set_results=utf8

добавил в my.cnf

init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_unicode_ci

Перезагурзил mysql

Переиндекировал базу

Запустил демона

Смотрю в /var/sphinx/log/query.log

 

А запросы в CP1251 :blink:

А у вас форум точно в UTF-8? Как-то это ОЧЕНЬ странно.

  • Автор

Точно в utf-8 ...

 

character_set_client	utf8
character_set_connection	utf8
character_set_database	utf8
character_set_results	utf8
character_set_server	utf8
character_set_system	utf8
collation_connection	utf8_general_ci
collation_database	utf8_general_ci
collation_server	utf8_unicode_ci
init_connect	SET NAMES utf8

 

И после внесения изменений в my.cnf все нормально работает кроме поиска по кириллице :(

Изменено пользователем m35

Ссылку на свой форум дадите?

 

Чтобы в запросе оказался cp1251, нужно иметь фронтэнд в этой кодировке. Других причин не вижу...

  • Автор
http://forum.adact.ru - посмотрите.

А у вас сейчас sphinx там включен? Потому что работает поиск нормально :)

  • Автор

Нет, естественно чтобы пользователи не долбили, отключаю и включаю только на время экспериментов.

  • Автор

Пока эксперименты со сборкой разных версий sphinx успехом не увенчались. И все таки интересен вопрос:

 

PS: Так же интересует вопрос, зачем Sphinx нужна xmlpipe2 ? Без нее нормально работать будет? Пока нет возможности ее поставить.
  • 9 месяцев спустя...

Конечно вопрос дурацкий, но всё же...

Стоит ли переходить на Sphinx, с таким переходом нагрузка на базу уменьшиться?

Стоит ли переходить на Sphinx

Пока тестирую - Sphinx и IP.Board 3.2.x. Но скорее всего да. Похоже, что я где-то ошибся.

 

нагрузка на базу уменьшиться?

При поиске да.

Спасибо. Тогда сегодня попробую установить на форум. О результатах отпишусь потом.

Тогда сегодня попробую установить на форум

Там установка не однозначная.

Там установка не однозначная.

Ага. Как оказалось довольно сложное дело... :(

Да. Из-за этого и обкатываю на себя. Хотя требуется срочная установка еще на двух серверах.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.