@madion

Sphinx — почему не ищет русские слова с sql_query_pre в конфиге?

Здравствуйте, уважаемые знатоки!
Имеется такой конфиг:
source dbconnect
{
    type            = mysql
    sql_host        = localhost
    sql_user        = user
    sql_pass        = password
    sql_db          = dbname
    sql_port        = 3306
    sql_query_pre = SET NAMES utf8

    mysql_connect_flags = 32
}

source defaultindex : dbconnect
{
    sql_query_pre       = UPDATE tbl_sphinx_delta_counter SET \
last_id = (SELECT MAX(id) FROM tbl_product)

    sql_query           = SELECT id, name, description, keywords, meta_keywords \
FROM tbl_product WHERE \
id <= ( SELECT last_id FROM tbl_sphinx_delta_counter WHERE counter_id=1 )

    sql_field_string    = name
    sql_field_string    = description
    sql_field_string    = keywords_subscription
    sql_field_string    = meta_keywords

    sql_ranged_throttle = 0
}

source deltatindex : dbconnect
{
    sql_query           = SELECT id, name, description, keywords, meta_keywords \
FROM tbl_product WHERE \
id > ( SELECT last_id FROM tbl_sphinx_delta_counter WHERE counter_id=1 )

    sql_field_string    = name
    sql_field_string    = description
    sql_field_string    = keywords_subscription
    sql_field_string    = meta_keywords
}

index defaultsearch
{
    source            = defaultindex
    path              = /var/lib/sphinxsearch/data/product
    wordforms         = /var/lib/sphinxsearch/syns.txt
    morphology        = lemmatize_ru_all
    min_word_len = 2
    min_prefix_len = 1
    html_strip = 1
    index_exact_words = 1
    expand_keywords = 1
    mlock = 0
}

index deltasearch : defaultsearch
{
    source            = deltatindex
    path              = /var/lib/sphinxsearch/data/product_delta
}


С таким конфигом sphinx ищет только слова на английском. А на русском не ищет.

Но стоит мне закомментировать строку:
sql_query_pre       = UPDATE tbl_sphinx_delta_counter SET last_id = (SELECT MAX(id) FROM tbl_product)


то поиск прекрасно работает, как по английским, так и по русским словам.
Почему? И как заставить искать по русским словам с этим запросом?
  • Вопрос задан
  • 375 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Fortop
Tech/Team lead
А что по-вашему мнению должна делать эта строка?
Ответ написан
opium
@opium
Просто люблю качественно работать
Нахрена вам вообще там этот пре?
посмотрите в итоге какой у вас ласт айди.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы