1

EmbeddedSolrServer と CommonsHttpSolrServer の間のパフォーマンスを知る必要があります。

組み込みSolrServer:

File home = new File("C:\\workspace\\SolrWithMultipleCore\\solr");
File f = new File( home, "solr.xml" );
CoreContainer container = new CoreContainer();
container.load( "C:\\workspace\\SolrMultipleCore\\solr", f );
EmbeddedSolrServer server = new EmbeddedSolrServer( container,"core1");
EmbeddedSolrServer server1 = new EmbeddedSolrServer( container,"core2");
String query=params.getParams("q");
String query1=params.getParams("q1");
SolrQuery solrquery=new SolrQuery(query);
QueryResponse rsp1 = server.query(solrquery);
QueryResponse rsp2 = server1.query(solrquery);

CommonsHttpSolrServer:

SolrServer httpServer = new CommonsHttpSolrServer(url);
QueryResponse rsp1=httpServer.query(q);
SolrServer httpServer1 = new CommonsHttpSolrServer(url1);
QueryResponse rsp2=httpServer1.query(q1);

EmbeddedSolrServer と CommonsHttpSolrServer のどちらが最適ですか? 私が意味する2つのコアには、異なるスキーマがあります。MultiThreadedHttpConnectionManager とは何かを知る必要があります。

4

1 に答える 1

5

組み込みは、HTTPまたはシリアル化のオーバーヘッドがないため、明らかに高速です。これは、常に埋め込みを使用する必要があるという意味ではありません。EmbeddedSolrwikiページを参照してください。

MultiThreadedHttpConnectionManagerについて、CommonHttpSolrServerjavadocsはのように説明しています。

このクライアントがSolrServerインスタンス間で再利用されている場合、または複数のスレッドがこのSolrServerを使用する場合、クライアントの接続マネージャーはMultiThreadedHttpConnectionManagerである必要があります。

于 2011-06-17T13:48:59.757 に答える