思考狮身人面像 - 三角洲索引不起作用

时间:2009-05-05 09:40:55

标签: ruby-on-rails ruby thinking-sphinx

在我的应用程序中,我需要立即将每条新记录添加到索引中(而不是在rake ts:index之后)。如果我理解它正确delta索引是我正在寻找的。因此,我将delta列添加到我正在使用Sphinx建立索引的每个表中,将默认值设置为false并将set_property :delta => true添加到每个define_index块中;然后运行rake ts:index和rake ts:restart。但是,“即时”索引似乎不起作用。在控制台中进行测试时,我创建了一条新记录,保存并尝试搜索它但不会将其恢复(在我运行rake ts之后:索引它工作得很好)。我在这里做错了吗?

3 个答案:

答案 0 :(得分:6)

谢谢你的努力。经过一段很长的探索后,我发现我只是忘了运行迁移(将delta列的默认值设置为false)。现在,我应该为这样一个愚蠢的错误得到一些减分。很抱歉打扰你,再次感谢你。

答案 1 :(得分:2)

我有一个类似的问题,delta索引不起作用......实际上它在我的开发环境中工作但不是生产。我对帖子开头的语句感到困惑,这些语句表明delta的默认值应为false。在http://freelancing-god.github.com/ts/en/deltas.html的思维sphinx doc中,它声明默认值应为true:

def self.up
  add_column :articles, :delta, :boolean, :default => true,
    :null => false
end

我错过了什么吗?

谢谢!

答案 2 :(得分:0)

你是否使用rake ts:conf after来正确生成配置文件?

您可以检查生成的配置文件,以查看配置文件中是否存在SQL请求(标准和增量)。

我们毫无问题地使用它。