ruby-on-rails - 思考 sphinx 三角洲指数不起作用

标签 ruby-on-rails sphinx thinking-sphinx delta-index

我已将 delta 列添加到我的表中:

class AddDeltaIndexToCimgs < ActiveRecord::Migration
  def change
    add_column :cimgs, :delta, :boolean, default: true, null: false
  end
end

我迁移了

我还添加了 define_index:

define_index do
  indexes search_cache
  has :approved
  set_property delta: true
end

然后我运行了 rake 任务

rake ts:stop
rake ts:index
rake ts:start

或者rake ts:rebuild

然后我向表中添加一条新记录,搜索它……什么也没有。 可以完美找到核心索引记录,但增量根本不起作用。

要搜索它们,我使用以下方法:

Cimg.search query, with: {approved: true}

是的,每个 Cimg 都被批准了,并且在 search_cache 中有一堆东西,并且新的东西在数据库中标记为 delta=1。我仔细检查过。

我检查了 db/sphinx 文件夹并创建了许多名为 cimg_delta 的文件。

这是生成的配置文件:http://pastebin.com/z0fHr43k

Sphinx version: 2.0.7
Thinking Sphinx gem version: 2.0.5
Rails version: 3.1.0.rc8
Ruby version: 1.9.2p290 

知道为什么会发生这种情况吗?

最佳答案

只是一个完整性检查,但是在你的 config/sphinx.yml 文件中 你在做什么

    development:      
      min_prefix_len: 2  

      indexed_models:
        - Article
        - Match
        - Player
        - Team
        - Group
        - Tournament
        - Ground
        - User

确保您已添加任何新的索引模型,否则认为 sphinx 只会索引每个环境下指定的模型。我刚刚向 User 模型添加了一个 define_index 并且无法弄清楚为什么在运行时它没有被索引

希望这对你有帮助,谢谢戴夫

关于ruby-on-rails - 思考 sphinx 三角洲指数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665905/

相关文章:

ruby-on-rails - 未知关键字 : content_type in active storage 5. 2.1.1

javascript - 在 Rails 中重新渲染重新加载部分

jQuery DataTable 选项显示 "1 of x pages "

ruby-on-rails - 哪个用对了?闪光[:notice] vs :notice?

search - Sphinx 404 搜索

mysql - sphinx 索引失败,并要求我使用 query_cache_type=1 重新启动服务器以启用它

ruby-on-rails - Thinking Sphinx 索引方法之间的区别

mysql - 全文搜索引擎对比——Lucene、Sphinx、Postgresql、MySQL?

ruby-on-rails - 思考 sphinx rails 不运行

mysql - 如何让 Sphinx 实时索引?