Ответы пользователя по тегу Sphinx
  • Как подружить go и Sphinx?

    @ghostiam
    На Go писатель, серверов пинатель.
    Уберите Ping, в Sphinx урезанный набор mysql команд.
    Так же не используйте prepared statements, они им тоже не поддерживаются. Но не бойтесь, sql injection в Sphinx не грозит.
    Ответ написан
  • Как настроить индекс и поиск чтобы просто искал точную подстроку как like "%test%"?

    @ghostiam
    На Go писатель, серверов пинатель.
    Установить настройки индекса:
    min_word_len = 1
    min_infix_len=2 # минимум 2

    Добавить все спецсимволы в charset_table.
    Пробелы могут не сработать в charset_table и их придётся заменять на другой символ (Нужно тестировать, уже точно не помню, но вроде как документация разрешает использовать пробел через unicode, как U+20).
    И запрос будет выглядеть как-то так:
    SELECT field FROM index WHERE MATCH('@field *тостер   нереально крутой site!!1,.*')

    или так, если придётся использовать замену:
    SELECT field FROM index WHERE MATCH('@field *тостер__нереально_крутой_site!!1,.*')


    Я когда-то использовал такой charset_table (в комментария расшифровка unicode символов)

    charset_table = 0..9, A..Z->a..z, _, a..z, \
        U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+451, U+451, \
        U+002D, U+003A, U+002B, U+0028, U+0029
        # А..Я->а..я, а..я, Ё->ё, ё, 
        # -, :, +, (, )



    Документация:
    min_infix_len
    min_word_len
    charset_table
    Ответ написан
    Комментировать
  • Запрос к SphinxSearch на Go?

    @ghostiam
    На Go писатель, серверов пинатель.
    Сфинкс не работает с prepare statements, сам столкнулся с этой проблемой. Как решение, экранировать символы самостоятельно.

    Вот как сделано экранирование в апи сфинкса для пхп
    https://github.com/sphinxsearch/sphinx/blob/6adceb...
    Ответ написан
    Комментировать