Web アプリケーションで CommonsHttpSolrServer を使用しています。CommonsHttpSolrServer を複数のリクエストで再利用しても安全ですか? またはリクエストごとに新しいオブジェクトをインスタンス化する必要がありますか? API ドキュメントで答えが見つかりませんでした。
2631 次
1 に答える
2
ドキュメントとソース コメントによると、SolrJ はスレッド セーフです。
ただし、solr を更新するときは注意してください。この投稿によると、トランザクションはキューごとではなく、インスタンスごとに実装されます。これは、各スレッドが処理する独自の分離されたトランザクションを持たないことを意味します。Rollback は、(元のスレッドに関係なく) すべての呼び出しを最後のコミットにロールバックします。
全体として、これは、(同じ CommonsHttpSolrServer を使用して) スレッドを好きなだけ安全にクエリできることを意味します。ただし、ロールバックを利用する場合は、(オブジェクトの分散に関係なく) 一度に 1 つのスレッドのみが solr インスタンスを更新するようにする必要があります。
于 2011-07-18T17:49:25.450 に答える