Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 斯芬克斯的三角洲和主要指数。重复搜索结果_Database_Search_Sphinx - Fatal编程技术网

Database 斯芬克斯的三角洲和主要指数。重复搜索结果

Database 斯芬克斯的三角洲和主要指数。重复搜索结果,database,search,sphinx,Database,Search,Sphinx,我有两个索引,main和delta。此内容有多个标志,例如一个“已发布”。主索引每天重建一次,增量-每次编辑内容后。除了一件事,一切都很好。假设有一篇文章,它发布=1。例如,在夜间重建了主索引,它记住了文章发布=1。第二天,文章从发布中删除,并已发布=0。如果你做一个简单的搜索-你可以看到文章发布=0。但是,如果在字段上设置了过滤器(1),则该项将被发布=1,并将继续在搜索中显示。我知道它是在主要索引中找到的。如何使它,如果一个项目不满足搜索增量索引的需要,是在斯芬克斯不寻找的主要索引 我知道最

我有两个索引,main和delta。此内容有多个标志,例如一个“已发布”。主索引每天重建一次,增量-每次编辑内容后。除了一件事,一切都很好。假设有一篇文章,它发布=1。例如,在夜间重建了主索引,它记住了文章发布=1。第二天,文章从发布中删除,并已发布=0。如果你做一个简单的搜索-你可以看到文章发布=0。但是,如果在字段上设置了过滤器(1),则该项将被发布=1,并将继续在搜索中显示。我知道它是在主要索引中找到的。如何使它,如果一个项目不满足搜索增量索引的需要,是在斯芬克斯不寻找的主要索引


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

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

为什么要使用增量索引进行搜索?这是什么意思?delta索引包含数据(数据尚未在main中),这就是为什么要搜索它!