2015-10-26 23 views
0

我對Solr/SolrJ非常新穎。我想爲我的查詢獲得建議,爲此我創建了一個名爲「suggest」的請求處理程序(我使用以下鏈接作爲參考:Suggester#LookupImplementations)。它提供了正確的輸出,但是在bean格式中,即使我提供了參數:query.set(「wt」,「json」)。我需要將查詢的輸出轉發到客戶端應用程序。如何以JSON格式獲得響應,或者如何在某些POJO中轉換響應。當我使用默認的請求處理程序,即「select」時,我能夠成功地完成這項工作,它提供了一個我可以轉換爲POJO的響應,因爲它包含了我在Solr模式中所有的相同字段。如果您需要任何其他信息,請告訴我。先謝謝你。如何獲得JSON格式的SolrJ建議輸出或將響應轉換爲POJO

+0

我問在Solr的論壇的問題,並得到了解決問題的辦法。你可以在這裏查看:https://cwiki.apache.org/confluence/display/solr/Using+SolrJ – Prometheus

回答

0

將你的提示處理程序添加到選擇請求處理程序,然後從那裏開始。您將需要爲此在solrconfig.xml和配置將是這個樣子:

<requestHandler name="/select" class="solr.SearchHandler"> 
    <!-- default values for query parameters can be specified, these 
     will be overridden by parameters in the request 
     --> 
    <lst name="defaults"> 
     <str name="echoParams">explicit</str> 
     <int name="rows">10</int> 
     <str name="df">dflt</str> 
     <str name="spellcheck">true</str> 
     <str name="spellcheck.dictionary">suggest</str> 
     <str name="spellcheck.count">3</str> 
    </lst> 
    <arr name="last-components"> 
     <str>suggest</str> 
    </arr> 
    </requestHandler> 

<searchComponent class="solr.SpellCheckComponent" name="suggest"> 
    <str name="queryAnalyzerFieldType">spellcheck</str> 
    <lst name="spellchecker"> 
     <str name="name">suggest</str>  
     <str name="field">spellcheck</str> 
     <str name="classname">solr.DirectSolrSpellChecker</str> 
     <int name="minPrefix">1</int> 
     <int name="minQueryLength">3</int> 
     <int name="maxEdits">2</int> 
     <int name="maxInspections">3</int> 
     <int name="minQueryLength">3</int> 
     <float name="maxQueryFrequency">0.01</float> 
     <float name="thresholdTokenFrequency">.00001</float> 
     <float name="accuracy">0.5</float> 
    </lst> 
    </searchComponent> 
+0

我想單獨使用/ select和/建議。我不想混合搜索和建議的輸出。 – Prometheus

相關問題