在我的应用程序中,我需要立即将每条新记录添加到索引中(而不是在 rake ts:index 之后)。如果我理解正确,增量索引就是我正在寻找的。因此,我delta
在使用 Sphinx 索引的每个表中添加了列,将默认值设置为false
并添加set_property :delta => true
到每个define_index
块中;然后运行 rake ts:index 和 rake ts:restart。但是,“即时”索引似乎不起作用。在控制台中测试时,我创建了一个新记录,保存并尝试搜索它但不会取回它(在我运行 rake ts:index 后它工作得很好)。我在这里做错了吗?
问问题
2651 次
3 回答
6
感谢你付出的努力。经过一些相当长的探索后,我发现我只是忘记了运行迁移(它将 delta 列的默认值设置为 false)。现在,我应该为这样一个愚蠢的错误得到一些减分。很抱歉打扰您,再次感谢您。
于 2009-05-06T06:31:49.397 回答
2
我在增量索引不起作用时遇到了类似的问题……实际上它在我的开发环境中有效,但在生产环境中无效。我对帖子开头的陈述感到困惑,这些陈述表明 delta 的默认值应该为 false。在http://freelancing-god.github.com/ts/en/deltas.html的思考狮身人面像文档中,它指出默认值应该为 true:
def self.up
add_column :articles, :delta, :boolean, :default => true,
:null => false
end
我错过了什么吗?
谢谢!
于 2010-01-26T04:58:01.887 回答
0
您是否使用 rake ts:conf 正确生成配置文件?
您可以检查生成的配置文件以查看配置文件中是否同时存在 SQL 请求(标准和增量)。
我们毫无问题地使用它。
于 2009-05-05T19:20:13.113 回答