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 предназначен для работы «на лету», однако могут возникнуть случаи расхождения (или первичного наполнения) индекса, для этого есть скрипт