RT-индексы
Положим, секции searchd
и indexer
уже настроены. Сосредоточимся на секции index
:
index rt_infobaza { type = rt path = /var/sphinx/rt_infobaza # по типу (раздел инфоблока) rt_attr_uint = section # дата обновления - служит для удаления "не обновленных" rt_attr_timestamp = date_update # оригинальный поисковый текст rt_attr_string = origin_text # текст для поиска rt_field = text min_word_len = 2 blend_chars = -,. }
Названия полей не чувствительны к регистру
Атрибуты Sphinx
Название | Тип |
---|---|
rt_attr_uint | беззнаковое целое |
rt_attr_string | строка |
rt_attr_timestamp | дата |
rt_attr_multi | мультизначение |
rt_field | текст для полнотекстового поиска |
Для создания индекса необходимо перегрузить sphinx, выполнив одну из команд (в зависимости от дистрибутива):
service sphinxsearch restart service searchd restart
После изменения файла конфигурации RT-индекса для «применения» необходимо удалить весь индекс и перезагрузить демон
service searchd stop && rm /var/sphinx/rt_infobaza* && service searchd start
Первичное обновление и переиндексация
RT предназначен для работы «на лету», однако могут возникнуть случаи расхождения (или первичного наполнения) индекса, для этого есть скрипт