我在思考狮身人面像时面临问题
我有以下表格结构
title => varchar
desc => varchar
is_deleted => boolean
这是我的denine_index
define_index do
indexes title, :sortable => :insensitive
has :is_deleted, :type=>:boolean
where "is_deleted = false"
set_property :delta => true
end
当我编辑主题并搜索 已编辑的名称时,我会看到主题,当我使用进行搜索时旧名称我得到相同主题。例如,如果早期主题的名称为“Foo”而我将“Foo”重命名为“Woo”,则搜索“Woo”我得到“Woo”,但在搜索“Foo”时,我再次得到“Woo”。此外,当我设置is_deleted =>真的和搜索“Woo”我没有任何东西,但是再次搜索“Foo”我得到“呜”即可。我不明白为什么会这样?对于 delta = true ,为创建较新的索引时,sphinx 不会删除 旧索引。
再次重建sphinx时,我没有遇到这样的问题,并且所有delta都按预期设置为false。
答案 0 :(得分:0)
使用sphinx sql_query_killist来杀死主索引中的结果,当你知道它存在于delta索引中时,类似于:http://sphinxsearch.com/docs/1.10/conf-sql-query-killlist.html