【问题标题】:Thinking Sphinx Delta Index not working思考狮身人面像三角洲指数不起作用
【发布时间】:2011-10-05 18:28:26
【问题描述】:

我已将增量列添加到我的表中:

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 

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

【问题讨论】:

  • 我也有同样的问题。
  • 你和乘客一起托管吗?

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


【解决方案1】:

只是一个健全性检查,但在您的 config/sphinx.yml 文件中 你在干吗

    development:      
      min_prefix_len: 2  

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

确保您已添加任何新的索引模型,否则认为 sphinx 只会索引在每个环境下指定的模型。我刚刚在 User 模型中添加了一个 define_index 并且无法弄清楚为什么在运行 rake ts:rebuild 时它没有被索引我忘记将 indexed_models: user 添加到 shinx.yml

希望这有帮助,谢谢戴夫

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多