Недавно настроил на VPS sphinx для форума, после некоторых проблем sphinx удачно заработал. Однако после связки его с ipb выяснилась одна проблема. При поиске корректно идут только запросы латиницей. Причину я установил, ipb отправляет запрос в cp1251, а sphinx принимает в utf-8. Однако пути для решения этой проблемы я не нашёл. Кто сталкивался, подскажите как быть?
sql_query_pre = SET NAMES UTF8
# Set our forum PID counter
sql_query_pre = REPLACE INTO ipbcache_store VALUES( 'sphinx_core_counter', (SELECT max(id) FROM ipbfaq), '', 0, UNIX_TIMESTAMP() )
# Query posts for the main source
sql_query = SELECT f.*, f.id as search_id, \
REPLACE( pi.perm_view, '*', 0 ) as perm_view \
FROM ipbfaq f \
LEFT JOIN ipbpermission_index pi ON ( pi.perm_type_id=1 AND pi.perm_type='help' ) \
WHERE f.id <= ( SELECT cs_value FROM ipbcache_store WHERE cs_key='sphinx_core_counter' )
В сфинксе надо выставлять кодировки в конфиге
в соурсе указывать в зависимости от кодировки
sql_query_pre = SET NAMES utf8
или
sql_query_pre = SET NAMES cp1251
в индексе в зависимости от кодировки
charset_type = utf-8
или
charset_type = sbcs
И сфинкс с такими параметрами может искать по сайтам с кодировками utf8 или cp1251
Возможно я что-то не так делаю, но последние советы мне не помогли. Вот конфиг zalil.ru/31952225 Может что неправильно указываю. Если кто может, скиньта ваш рабочий.
Отчасти справился с той проблемой, но кое-что осталось: индекс и запуск демона идут без ошибок, однако когда я хочу поискать что-то на форуме с запросом на кириллице мне пишет что ничего нету, латиницей поиск работает всюду, плюс поиск кириллицей не работает только по постам. В блогах, галереи и календаре всё работает. С чем это может быть связано.
Уже не помню, как это дело решал, но вроде просто ковырял конфиг Сфинкса. Единственное помню, что там эти умники захардкодили максимальное количество результатов, получаемых их Сфинкса, потому он многое тупо не находил. Пришлось вручную этот хардкод с 1000 поднимать до 10000.
В моем конфиге вижу следующие изменения:
```
############################### --- TAGS --- ################################
source ipb_core_tags_search_main : ipb_ipb_source_config
{
# //Мой фикс
sql_query_pre = SET CHARACTER SET utf8
# Set our forum PID counter
sql_query_pre = SET NAMES utf8
...
source ipb_core_tags_search_delta : ipb_core_tags_search_main
{
# //Мой фикс
sql_query_pre = SET CHARACTER SET utf8
...
################################# --- FORUM --- ##############################
source ipb_forums_search_posts_main : ipb_ipb_source_config
{
# //Мой фикс
sql_query_pre = SET CHARACTER SET utf8
...
source ipb_forums_search_posts_delta : ipb_forums_search_posts_main
{
# //Мой фикс
sql_query_pre = SET CHARACTER SET utf8
...
index ipb_forums_search_posts_main
{
source = ipb_forums_search_posts_main
path = /var/lib/sphinx/ipb/ipb_forums_search_posts_main