核心指数有效,但Delta-Index不起作用。但奇怪的是,日志文件中没有错误或警告,所以我不知道如何调试它。 我用phusion-passenger和Webbrick本地测试了它。结果是一样的。 我使用rails 3.2.13和thinking-sphinx 3.1.0。
我的索引定义:
ThinkingSphinx::Index.define :log, :with => :active_record, :delta => true do
indexes msg, :sortable => true
has moment, :type => :timestamp
has program, :type => :string
end
我也尝试使用具有相同结果的延迟增量。
有什么想法吗?
谢谢!
修改 是因为我直接通过MySQL将数据写入数据库吗? 因此,如果使用rails + active_record,则只能识别新记录吗?
答案 0 :(得分:1)
您的编辑是正确的 - 只能通过ActiveRecord回调触发增量,因此如果您不是通过标准ActiveRecord工作流编辑/添加对象,则不会更新Sphinx索引。
同样适用于update_attribute
方法(注意:单数版本),因为调用时不会调用回调(与update_attributes
和save
不同)。