CommonsHttpSolrServer有很好的表现吗?

Sye*_*her 1 java solr apache-commons solrj

我需要知道EmbeddedSolrServer和CommonsHttpSolrServer之间的性能.

EmbeddedSolrServer:

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);
Run Code Online (Sandbox Code Playgroud)

CommonsHttpSolrServer:

SolrServer httpServer = new CommonsHttpSolrServer(url);
QueryResponse rsp1=httpServer.query(q);
SolrServer httpServer1 = new CommonsHttpSolrServer(url1);
QueryResponse rsp2=httpServer1.query(q1);
Run Code Online (Sandbox Code Playgroud)

哪个是最好的EmbeddedSolrServer或CommonsHttpSolrServer?我所说的两个核心有不同的架构.我需要知道什么是MultiThreadedHttpConnectionManager.

Mau*_*fer 5

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

关于MultiThreadedHttpConnectionManager,CommonHttpSolrServer javadocs解释:

如果此客户端跨SolrServer实例重用,则客户端的连接管理器应为MultiThreadedHttpConnectionManager,否则多个线程将使用此SolrServer.