2

Ruby on rails 3.2 アプリケーションがあります。すでに大量のデータが取り込まれているモデルで、テキスト ベースの検索を有効にしたいと考えています。モデル クラスの名前が Post であるとします。私はelasticsearchを使用することを計画しています.elasticsearchは最高のリアルタイム検索エンジンの1つであると聞いており、アプリケーションがelasticsearchとやり取りできるようにtire gemを使用しています.

私は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'

誰でもここで私を助けることができますか?

4

1 に答える 1

7

Mysql とこのコードを bash で使用します (railscasts.com から):

レーキ環境タイヤ:インポート CLASS=Post FORCE=true

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

Tire: Ruby API と DSL、Rails ActiveModel との完全な互換性、および mebla による mongoid統合

試してみてください、多分あなたを助けます。

于 2012-04-23T13:00:30.117 に答える