Sphinx,更新已删除条目的索引

问题描述

| 我正在学习Sphinx,现在我了解了如何设置和更新索引。问题是删除的条目。我计划使用增量索引,但似乎它们不会更新已删除的行,因此,如果在我的数据库删除了某行,则该条目仍可以在网站上的搜索显示,直到发生完整索引为止。但是,一个完整的索引每天只会发生一次。 那么,如何更新索引以删除删除的条目?我读过有关使用终止列表的信息,但不了解如何使用。我可以在增量索引中使用它吗?是否有使用终止列表的配置示例?手册中显示一个示例,但我不知道如何在配置文件中使用它。 编辑 这是主意吗?您在配置中使用“ 0”来查询所有不包含在索引中的ID?因此,在我的代码中,如果有人要删除一个故事,而不是删除行本身,我将有一个标有“已删除”的标志,然后使用
sql_query_killlist
查询所有已删除字段设置为1的故事?然后运行某种类型的cron作业会在以后删除行吗?     

解决方法

        在增量索引中,您可以在kill-list中收集文档ID。它是您增量索引中唯一的ID列表,它不会触及您的主索引。 取而代之的是,您将索引查询为主要的增量-增量索引会禁止主索引中ID为kill-list的所有文档。 但是,在main与delta合并时,确实删除了文档。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...