0

我在思考狮身人面像时遇到问题

我有以下表格结构

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 => true搜索“Woo”时,我什么也没得到 ,但在搜索“Foo”时. 我不明白为什么会这样?sphinx在为delta=true创建新索引时是否不会删除索引。

再次在重建 sphinx 时,我没有遇到此类问题,并且所有 delta 都按预期设置为 false。

4

1 回答 1

0

使用 sphinx sql_query_killist 从主索引中删除结果,当您知道它存在于您的增量索引中时,类似于这些:http ://sphinxsearch.com/docs/1.10/conf-sql-query-killlist.html

于 2013-01-19T11:08:37.587 回答