2013-04-12 48 views
4

我對使用Solr 4.2.0的「/ terms」請求處理程序有困難。在Solr中使用「條款」與「select?qt = terms」

使用Web瀏覽器下面的網址返回的字段名工業

http://localhost:8983/solr/collection1/terms?terms.fl=INDUSTRY&terms.prefix=P&terms=true 

在另一方面的術語列表,下面的查詢返回任何條款:

http://localhost:8983/solr/collection1/select?qt=terms&terms.fl=INDUSTRY&terms.prefix=P&terms=true 

我的問題是如何我可以通過「/ select」requestHandler使用「/ terms」requestHandler嗎?

從Solr的日誌如下(如果它的任何幫助你)

Apr 12, 2013 10:21:55 AM org.apache.solr.core.SolrCore execute 
INFO: [collection1] webapp=/solr path=/terms params={terms.fl=INDUSTRY&terms=true&terms.prefix=P} status=0 QTime=5 
Apr 12, 2013 10:22:09 AM org.apache.solr.core.SolrCore execute 
INFO: [collection1] webapp=/solr path=/select params={terms.fl=INDUSTRY&terms=true&qt=terms&terms.prefix=P} hits=0 status=0 QTime=0 

回答

3

以下步驟解決上述問題。

首先,在solrconfig.xml中,您應該刪除「/ select」requestHandler,並且將handleSelect設置爲true。

<requestDispatcher handleSelect="true" > 

二,重啓Solr的和下面的查詢工作:

http://localhost:8983/solr/collection1/select?qt=/terms&terms.fl=INDUSTRY&terms.prefix=P&terms=true 

重要提示:注意在QT參數 「/術語」,使用 「QT =術語」 將不會工作。

1

在你requesthandler,你可以補充一點:

<lst name="defaults"> 
     <bool name="terms">true</bool> 
    </lst> 

    <arr name="last-components"> 
     <str>terms</str> 
    </arr> 

現在你可以使用terms.fl選擇要FR條款OM選擇requesthandler:

http://localhost:8983/solr/select?terms.fl=INDUSTRY

+0

謝謝您的回答,傑拉德!看來在默認的requestHandler中添加術語組件是最好的方法。 – Zouzias