Рубин на рельсах - эластичная шина поиска импотирования существующих БД - PullRequest
2 голосов
/ 27 марта 2012

У меня есть приложение Ruby on rails 3.2. Я хочу включить текстовый поиск для модели, в которой уже есть много данных. Предположим, что название класса модели - Post. Я планирую использоватьasticsearch, так как слышал, что это одна из лучших поисковых систем в режиме реального времени, и я использую шины для того, чтобы мое приложение могло взаимодействовать сasticsearch.

Поскольку я новичок вasticsearch, у меня возникают проблемы при создании индексов для существующих данных для модели. Я использую 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'

Может кто-нибудь помочь мне здесь?

1 Ответ

7 голосов
/ 23 апреля 2012

Я использую Mysql и этот код в bash (от railscasts.com):

шина для граблей: import CLASS = Post FORCE = true

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

шина: Ruby API и DSL, с полной совместимостью с Rails ActiveModel и интеграцией mongoid через mebla .

Попробуйте, может быть, вам помогут.

...