適切なドキュメントがないため、SolrJ で dismaxRequestHandler を使用する方法を理解できません。
別の注意として、標準のリクエストハンドラは SolrJ の実装のデフォルトですか?
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);