2
由於缺乏適當的文檔,我無法弄清楚如何在SolrJ中使用dismaxRequestHandler。如何在DismaxRequestHandler中使用solrj?
另一個說明是標準請求處理程序,它是SolrJ實現中的默認設置嗎?
由於缺乏適當的文檔,我無法弄清楚如何在SolrJ中使用dismaxRequestHandler。如何在DismaxRequestHandler中使用solrj?
另一個說明是標準請求處理程序,它是SolrJ實現中的默認設置嗎?
solrconfig.xml中的default="true"
決定哪個是默認的請求處理程序。 在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);
感謝您的幫助。 我應該澄清它以前,我使用Solr 1.4和edismax,因爲我知道3.1以後才啓用。 對於Solr1.4以及requestHandler只是dismax,相同的設置是否也適用?我還應該擔心註釋掉「 text^0.2 features^1.1 name^1.5 manu^1.4 manu_exact^1.9」stuff? –
是的..只需將edismax更改爲dismax,其他所有功能都可以正常工作。你可以評論pf,這些基本上是爲了開始時的詞組匹配,然後調整你的相關性。 – Jayendra