【问题标题】:Ruby on rails -elasticsearch tire impoting existing dbRuby on rails -elasticsearch 轮胎导入现有数据库
【发布时间】:2012-04-11 08:25:58
【问题描述】:

我有一个 Ruby on rails 3.2 应用程序。我想在已经填充了大量数据的模型上启用基于文本的搜索。假设模型类的名称是 Post。我计划使用 elasticsearch,因为我听说它是​​最好的实时搜索引擎之一,我正在使用轮胎 gem,以便我的应用程序可以与 elasticsearch 交互。

由于我是 elasticsearch 新手,我无法为模型的现有数据创建索引。我使用 mongodb 作为后端数据库。谁能告诉我如何导入索引。

我已经试过了

Tire.index "posts" do
  import Post.all
end

我得到的错误是:

  BSON::InvalidObjectId: illegal ObjectId format: Career Guidance 
  from /Users/anirvan/.rvm/gems/ruby-1.9.3-p125/gems/bson-1.5.1/lib/bson/types/object_id.rb:126:in `from_string'

谁能帮帮我?

【问题讨论】:

    标签: ruby-on-rails search real-time elasticsearch tire


    【解决方案1】:

    我在 bash 中使用 Mysql 和这段代码(来自 railscasts.com):

    rake 环境轮胎:import CLASS=Post FORCE=true

    http://www.elasticsearch.org/guide/appendix/clients.html

    轮胎:Ruby API 和 DSL,具有完整的 Rails ActiveModel 兼容性和通过 mebla 的 mongoid 集成。

    试试吧,也许对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2013-04-22
      相关资源
      最近更新 更多