Как использовать solrj с DismaxRequestHandler? - PullRequest
2 голосов
/ 15 ноября 2011

Из-за отсутствия необходимой документации я не могу понять, как использовать dismaxRequestHandler с SolrJ.

С другой стороны, стандартный обработчик запросов по умолчанию в реализации SolrJ?

1 Ответ

2 голосов
/ 15 ноября 2011

default="true" в solrconfig.xml решает, какой обработчик запроса по умолчанию.В примерах с solr стандартный обработчик запросов является стандартным.

<requestHandler name="search" class="solr.SearchHandler" default="true">
.....
</requestHandler>

Вы можете легко сопоставить этот атрибут с другими обработчиками запросов, чтобы сделать их стандартными.

Пример с edismax -

<requestHandler name="/browse" class="solr.SearchHandler" default="true">
 <lst name="defaults">
   <str name="echoParams">explicit</str>
   <str name="defType">edismax</str>
   <str name="q.alt">*:*</str>
   <str name="rows">10</str>
   <str name="fl">*,score</str>
   <str name="qf">
      text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
   </str>
 </lst>
</requestHandler>

Параметр qt можно использовать с Solrj для запроса через специальный обработчик запросов.

Пример для Solrj -

CommonsHttpSolrServer commonsHttpSolrServer = new CommonsHttpSolrServer("solr_path_url");
commonsHttpSolrServer.setParser(new XMLResponseParser());
ModifiableSolrParams params = new ModifiableSolrParams();
// Specify the Request handler
params.add("qt", "dismax_request_handler");
params.add("q", "query_string");
QueryResponse response = commonsHttpSolrServer.query(params);
...