Как стереть индекс реального времени в Sphinx?

Я хочу использовать индекс реального времени в качестве мгновенно доступной дельты для сегодняшних изменений, поэтому его нужно стирать каждую ночь. Есть ли хороший способ удалить все документы из RT-индекса? Полагаю, я мог бы выбрать все из него и выпустить DELETE для каждого найденного id, но это не кажется мудрым способом.

3 ответов


TRUNCATE RTINDEX rt_user был добавлен в sphinx 2.2.2


кажется, это еще невозможно. http://sphinxsearch.com/forum/view.html?id=6898 занимается этим вопросом, и единственное решение, которое упоминает форум, - это закрытие Sphinx, очистка binlog и соответствующих файлов индекса и перезапуск.


Я пробовал TRUNCATE RTINDEX ... без каких-либо удачи. Самый простой метод, который я нашел, - изменить path настройки индекса. например:

index myindex { type = rt path = /var/lib/sphinxsearch/data/myindex ... к

index myindex { type = rt path = /var/lib/sphinxsearch/data/myindex-v2 ...