- blogs:
- cles::blog
2009/08/08
[ by hsur at 19:18]
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')
# 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)
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が必要です→http://blog.cles.jp/item/3151
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
Copyright © 2004-2010 by CLES All Rights Reserved.
sp-20100319020434644595551@cles.net
sp-20100319020434644595551@cles.net
サイト内検索
おしらせ
検索ワード
- solr1.4 oracle dih
- Google - 10/03/10 18:00:55
Tags [All Tags]
google | php | ruby | windows | firefox | linux | SoftwareEngineering | java | spam | ranking | curry | camera | seo | FireEmblem | thunderbird | server | marketing | mobile | Doctoral | docomo
へぇが多いエントリ [Top 100]
- おめでとうございます (4)
- 知恵の輪 サターン編 (3)
- SourceForge.JPのSubversion... (3)
- サーバセットアップ (3)
- Thanks ! 10000 Hit ! (3)
- 和食 小錦 (3)
- 散髪しました (3)
- .inはインドのccTLDなのか (3)
- やっと髪をきりました (3)
- 大雪でした (3)
閲覧数が多いエントリ [Top 100]
1 . ドラゴンクエストVIの影響力 [8926x]
2 . やっぱりあった!パクれる読書感想文! [7562x]
3 . Echofon for Firefox [6344x]
4 . 急性胃腸炎 [5702x]
5 . OpenIDで自分のサイトのURLを使う [5701x]
2 . やっぱりあった!パクれる読書感想文! [7562x]
3 . Echofon for Firefox [6344x]
4 . 急性胃腸炎 [5702x]
5 . OpenIDで自分のサイトのURLを使う [5701x]
最新のエントリ [archives]
最新のコメント [Latest 100]
- CD-ROM起動で、HDDを完全消去
- NP_Moblog v1.16
- pinzoro 01/15
- hsur 12/29
- and more...
- 耳がおかしいと思ったら突発..
- baca 01/13
- hsur 01/13
- and more...
カテゴリ別エントリ
cles::blogについて
Syndicate
Calendar
Referrers
Blog People
Admin
★はてな認証APIをつかってログインすることができます。
Powered by NP_Paint




