Ruby on rails -elasticsearch轮胎投入现有数据库

nig*_*f0x 2 search ruby-on-rails real-time elasticsearch tire

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

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

我已经尝试过了

Tire.index "posts" do
  import Post.all
end
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

  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'
Run Code Online (Sandbox Code Playgroud)

有人可以帮我从这里出去吗 ?

qua*_*ain 7

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

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

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

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

试试吧,也许可以帮到你.