Как сделать поиск специсимволов в Sphinx?

Здравствуйте!

Подскажите, пожалуйста, как перенастроить индекс или как подкорректировать запрос, что бы была возможность поиска документов, содержащих спецсимволы.

Индекс:

source src_tasks_delta
{
    type = xmlpipe
    xmlpipe_command = /usr/bin/php /home/tasks/bots/xmlpipe_bot_tm_test.php delta tasks
}

index i_tasks_delta {
        source                  = src_tasks_delta
        path                    = /var/lib/sphinxsearch/data/i_tasks_delta
        docinfo                 = extern
        enable_star             = 1
        morphology              = none
        charset_type            = utf-8
#       expand_keywords         = 1
#       index_exact_words       = 1

        min_word_len            = 2
        min_prefix_len          = 2
        #min_infix_len          = 5

        html_strip              = 1
        charset_table = +, 0..9, A..Z->a..z, _, -, /, @, !, $, %, ^, &, (, ), +, `, ~, #, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
}


Есть документ, name которого "хаха%"

Запрос:
@(name,msg) (хаха\%\%| хаха\%\%*)
выдает этот документ, но так же его выдают любой из следующих запросов:
@(name,msg) (хаха\%\%?:\%| хаха\%\%?:\%*)
@(name,msg) (хаха\#| хаха\#*)
@(name,msg) (хаха\!| хаха\!*)
@(name,msg) (хаха\(\)| хаха\(\)*)
etc.

А запрос:
@(name,msg) (\%\%| \%\%*)
вообще всё подряд возвращает.

Как побороть такую выдачу и сделать строгий поиск по соответствию спецсимвола на своем месте?
  • Вопрос задан
  • 2520 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ideological
Проблема решилась?
Если да, то неплохо бы самому и написать ответ ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы