- blogs:
- cles::blog
2009/08/08

Solr-rubyで複数のドキュメントを一括Post


SolrのRubyクライアントであるsolr-rubyを使ってみているのですが、肝心のsolr-ruby - Solr Wikiにはこんなサンプルしか載っていません。これだとドキュメント1つごとに一回のHTTP通信が発生するため、ドキュメントの量が多い場合にはあまり効率が良くありません。
require 'solr'
# connect to the solr instance
conn = Solr::Connection.new('http://localhost:8983/solr', :autocommit => :on)
# add a document to the index
conn.add(:id => 123, :name => 'Lucene in Action')
ひとまずソースコードに目を通してみると、Solr::Request::AddDocumentはコンストラクタに配列でSolr::Documentが渡せるようなので、こんな感じで書くといっぺんに投げられるようになりました。
require 'solr'
docs = []
docs.push Solr::Document.new(:id => 1, :name => 'foo')
docs.push Solr::Document.new(:id => 2, :name => 'bar')
docs.push Solr::Document.new(:id => 3, :name => 'baz')
req = Solr::Request::AddDocument.new(docs)
conn = Solr::Connection.new('http://localhost:8983/solr', :autocommit => :on)
conn.send(req)
そもそもこんなことせずに大量にドキュメントを登録するときはおとなしくCSVかDIHを使えっていう話なのかもしれませんが。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/3151
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
- 居酒屋 八(ひらく) (3)
- 退去通知もネットで可能な時代に (1)
- ケーブルカーのケーブルが切... (1)
- Visual Studio 2017/2019 で ... (1)
- 国土交通省オフィシャルの「... (1)
閲覧数が多いエントリ
1 . Solr-rubyで複数のドキュメントを一括Post(32917)
2 . Windows 10 で勝手にログアウトされないようにする(26817)
3 . Word で数式がグレーアウトされていて挿入できないときは(24718)
4 . リモートデスクトップで Alt + PrtSc と同じことをするには(20967)
5 . Visual Studio 2017/2019 で scanf() がエラー(C4996)になるときは(20411)
2 . Windows 10 で勝手にログアウトされないようにする(26817)
3 . Word で数式がグレーアウトされていて挿入できないときは(24718)
4 . リモートデスクトップで Alt + PrtSc と同じことをするには(20967)
5 . Visual Studio 2017/2019 で scanf() がエラー(C4996)になるときは(20411)
cles::blogについて
Referrers