2011-12-22 5 views
1

Ruby on RailsアプリケーションでSolrにアクセスするのはrsolr(Sunspotではなく)です。私はこのような要求を送信するために使用するローカルSolrのオブジェクトを作成します。いつRailsアプリケーションでSolr接続を作成するのですか

solr = RSolr.connect(:url => "http://localhost:8983/solr") 

は限り私は理解して、これは本当に接続が、オンデマンドでリクエストを発行します単なるオブジェクトではないので、それはいけませんそれを初期化したままにするのは高価であり、決してを切断しないでください。。それによると、グローバルなソルバーオブジェクトを1つ作成し、開始時に作成し、それを忘れても問題ありません。右?しかし、おそらくそれはスレッドセーフではないのでしょうか?

いつsolr接続を作成する必要がありますか?

答えて

2

RSolr.connectメソッドが実際に行っていることは、使用しているオプションをサニタイズして保存することです。そのメソッドを見ることができますhere.それは新しい接続オブジェクト(特に、initializeメソッドを持たないので、作成時に何もしません)と、RSolr.connectに渡すオプションを渡します。

はい、そうです。一度接続すれば、何か変わった場所に永遠につながっていて、繋がったままにしておいても問題ありません。 (例えば、私はRSolr.connectin my Solr/Rails app.の結果をメモします)

関連する問題