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?我的意思是两个核心有不同的架构。我需要知道什么是 MultiThreadedHttpConnectionManager。

4

1 回答 1

5

Embedded 显然更快,因为它没有任何 HTTP 或序列化开销。这并不意味着您应该始终使用嵌入式。请参阅EmbeddedSolr wiki 页面

关于 MultiThreadedHttpConnectionManager,CommonHttpSolrServer javadocs解释:

如果此客户端正在跨 SolrServer 实例重用,则客户端的连接管理器应该是 MultiThreadedHttpConnectionManager,或者多个线程将使用此 SolrServer。

于 2011-06-17T13:48:59.757 回答