CommonsHttpSolrServer имеет хорошую производительность? - PullRequest
1 голос
/ 17 июня 2011

Мне нужно знать производительность между 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);

CommonsHttpSolrServer:

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

Какой лучше использовать EmbeddedSolrServer или CommonsHttpSolrServer? у двух основных я имею разные схемы. Мне нужно знать, что такое MultiThreadedHttpConnectionManager.

1 Ответ

5 голосов
/ 17 июня 2011

Embedded, очевидно, быстрее, потому что он не имеет никаких HTTP или издержек сериализации. Это не значит, что вы всегда должны использовать встроенный. См. EmbeddedSolr вики-страницу .

О MultiThreadedHttpConnectionManager, CommonHttpSolrServer javadocs объяснение:

Диспетчер соединений для клиента должен быть MultiThreadedHttpConnectionManager if этот клиент повторно используется через Экземпляры SolrServer или нескольких темы будут использовать этот SolrServer.

...