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
任何想法?
如何在前端獲得這些建議?
爲了擴大這一點,還有php輸出類型,它將以php數組語法返回數據。 Param'?wt = php' – Hayden