Movatterモバイル変換


[0]ホーム

URL:


BLOGTIMES

cles::blog

平常心是道
« :: »cles::blog >ArchiveList >2009-8 > 2009-8-8
«Prev ||1 || Next»
2009/08/08

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

ruby  solr 

SolrのRubyクライアントであるsolr-rubyを使ってみているのですが、肝心のsolr-ruby - Solr Wikiにはこんなサンプルしか載っていません。これだとドキュメント1つごとに一回のHTTP通信が発生するため、ドキュメントの量が多い場合にはあまり効率が良くありません。

require 'solr'# connect to the solr instanceconn = Solr::Connection.new('http://localhost:8983/solr', :autocommit => :on)# add a document to the indexconn.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を使えっていう話なのかもしれませんが。


    at 19:18 |
    «Prev ||1 || Next»
    « :: »cles::blog >ArchiveList >2009-8 > 2009-8-8
    Copyright © 2004-2023 by CLES All Rights Reserved.
    サイト内検索
    検索ワードランキング
    へぇが多いエントリ
    閲覧数が多いエントリ
    1 .アーロンチェアのポスチャーフィットを修理(100406)
    2 .福岡銀がデマの投稿者への刑事告訴を検討中(99746)
    3 .年次の人間ドックへ(99716)
    4 .三菱鉛筆がラミーを買収(99320)
    5 .2023 年分の確定申告完了!(1つめ)(99293)
    最新のエントリ
    cles::blogについて
    誰が書いてる?
    最近行った場所
    サイトポリシー
    タグ一覧
    検索ワードランキング

    Referrers

      Powered by CLES
      Nucleus CMS v3.31SP3/w memcached
      21389161(W:9572 Y:1555 T:1133)
      cles::blogのはてなブックマーク数
      benchmark


      [8]ページ先頭

      ©2009-2025 Movatter.jp