2011-11-15 23 views

回答

2

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); 
+0

感謝您的幫助。 我應該澄清它以前,我使用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? –

+1

是的..只需將edismax更改爲dismax,其他所有功能都可以正常工作。你可以評論pf,這些基本上是爲了開始時的詞組匹配,然後調整你的相關性。 – Jayendra