0

我有两个索引,主要和增量。此内容有几个标志,例如一个“已发布”。主索引每天重建一次,每次编辑内容后增量。一切正常,除了一件事。假设有一篇文章,published = 1。例如,晚上重建主索引,它记得文章 published = 1。然后第二天文章从出版物中删除并已发布 = 0。如果你做一个简单的搜索 - 你可以看到发表的文章 = 0 。但是,如果在 field 上设置了过滤器 (1),则该项目已发布 = 1,并继续显示在搜索中。即我知道它是在主索引中找到的。如何使如果一个项目不满足搜索 delta 索引的需要,是 Sphinx 不在主索引中寻找的?

我知道我最初可以使用 killlist-query 删除未发布的数据,但是这种方法不适合,因为有时我需要查找所有文章,有时只需查找已发布的 .

4

1 回答 1

0

使用 UpdataAttributes API 调用(或 sphinxQL 中的 UPDATE ...)来实际更新主索引中的已发布属性。

于 2013-10-11T02:45:36.653 回答