Wednesday, February 08, 2012

rsolrで複数ドキュメントをアップロード

検索エンジンのSolrをRubyから使っている。ライブラリはrsolr。 このrsolrで複数ドキュメントを一括でアップロードする時、相当するメソッドがないように見えたが、 ソースを見たらaddに配列で渡せば問題なく複数ドキュメントを扱えるようになっていた。

require 'rsolr'
solr = RSolr.connect :url => "http://localhost:8080/solr"
documents = [
  {:id => "1", :text => "text 1"},
  {:id => "2", :text => "text 3"},
]
solr.add documents
solr.commit
最後のcommitは忘れがちなので気をつける。

日本語の解説本『Apache Solr入門』ではsolr-rubyを紹介していたが、rubygemsでのダウンロード数がrsolrのほうが随分上なのでこっちを選んだ。

No comments: