Я изучаю Sphinx и теперь понимаю, как устанавливать и обновлять индексы. Проблема в удаленных записях. Я планирую использовать дельта-индексы, но, похоже, они не обновляют удаленные строки, поэтому, если строка удаляется в моей базе данных, эта запись все равно может отображаться при поиске на сайте, пока не произойдет полный индекс; однако полный индекс будет происходить только один раз в день.
Так как я могу обновить индекс для удаления удаленных записей? Я читал об использовании списка уничтожений, но не понимаю, как его использовать. Я использую это в дельта-индексе? Существуют ли примеры конфигурации с использованием списка уничтожений? В руководстве приведен пример, но я не знаю, как он будет использоваться в файле конфигурации.
EDIT
Это идея? Вы используете sql_query_killlist
в конфигурации, чтобы запросить все идентификаторы, чтобы не включать в индекс? Таким образом, в моем коде, если кто-то хочет удалить историю, вместо удаления самой строки у меня будет флаг «удалено», а затем будет использоваться sql_query_killlist
для запроса всех историй с удаленным полем, установленным в 1? Затем запустить какой-нибудь тип задания cron, чтобы удалить строки позже?