Как стереть индекс реального времени в Sphinx?
Я хочу использовать индекс реального времени в качестве мгновенно доступной дельты для сегодняшних изменений, поэтому его нужно стирать каждую ночь. Есть ли хороший способ удалить все документы из RT-индекса? Полагаю, я мог бы выбрать все из него и выпустить DELETE для каждого найденного id, но это не кажется мудрым способом.
3 ответов
кажется, это еще невозможно. 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
    ...