2014-03-05 84 views
2

我有這個問題,我無法解決。部分原因是我無法用正確的術語解釋它。我對此很陌生,所以對於這個笨拙的問題感到抱歉。如何從一個PHP變量Solr服務器獲取建議

您可以在下面看到我的目標概覽。

我使用的是Magento CE 1.7.0.2 & Solr 4.6.0。

Solr中

我搜索與拼寫檢查工作與IPHON,而不是iphone Solr的拼寫檢查拋出這些建議。

<response> 
    <lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">48</int> 
    </lst> 
    <str name="command">build</str> 
    <result name="response" numFound="0" start="0"></result> 
    <lst name="spellcheck"> 
     <lst name="suggestions"> 
     <lst name="iphon"> 
      <int name="numFound">1</int> 
      <int name="startOffset">0</int> 
      <int name="endOffset">5</int> 
      <int name="origFreq">0</int> 
      <arr name="suggestion"> 
      <lst> 
       <str name="word">iphone</str> 
       <int name="freq">27</int> 
      </lst> 
      </arr> 
     </lst> 
     <bool name="correctlySpelled">false</bool> 
     </lst> 
    </lst> 
</response> 

我希望拼寫檢查功能工作正常。

這裏是我的Schema.xml的 & solrconfig.xml中文件...

schema.xml中

<field name="didyoumean" type="text_general" indexed="true" stored="false" multiValued="true"/> 
<copyField source="fulltext" dest="didyoumean"/> 

solrconfig.xml中

<searchComponent name="spellcheck" class="solr.SpellCheckComponent"> 
    <str name="queryAnalyzerFieldType">didyoumean</str> 
    <lst name="spellchecker"> 
     <str name="name">default</str> 
     <str name="field">didyoumean</str> 
     <str name="spellcheckIndexDir">./spellchecker</str> 
     <str name="buildOnOptimize">true</str> 
     <str name="buildOnCommit">true</str> 
     <str name="classname">solr.DirectSolrSpellChecker</str> 
     <str name="distanceMeasure">internal</str> 
     <float name="accuracy">0.5</float> 
     <int name="maxEdits">2</int> 
     <int name="minPrefix">1</int> 
     <int name="maxInspections">5</int> 
     <int name="minQueryLength">4</int> 
    </lst> 
    <lst name="spellchecker"> 
     <str name="name">jarowinkler</str> 
     <str name="field">didyoumean</str> 
     <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str> 
     <str name="spellcheckIndexDir">./spellchecker2</str> 
    </lst> 
</searchComponent> 
<requestHandler name="/spell" class="solr.SearchHandler" startup="lazy"> 
    <lst name="defaults"> 
     <str name="df">name</str> 
     <str name="spellcheck.dictionary">default</str> 
     <str name="spellcheck">on</str> 
     <str name="spellcheck.onlyMorePopular">true</str> 
     <str name="spellcheck.dictionary">wordbreak</str> 
     <str name="spellcheck.extendedResults">true</str>  
     <str name="spellcheck.count">10</str> 
     <str name="spellcheck.alternativeTermCount">5</str> 
     <str name="spellcheck.maxResultsForSuggest">5</str>  
     <str name="spellcheck.collate">true</str> 
     <str name="spellcheck.collateExtendedResults">true</str> 
     <str name="spellcheck.maxCollationTries">10</str> 
     <str name="spellcheck">true</str> 
     <str name="spellcheck.build">true</str> 
     <str name="spellcheck.maxCollations">5</str>   
    </lst> 
    <arr name="last-components"> 
     <str>spellcheck</str> 
    </arr> 
    </requestHandler> 

現在,我的目標是在前端顯示此建議,就像Did you mean:iphone

任何想法?

如何在前端獲得這些建議?

回答

相關問題