[英]Solr suggest exact match
我試圖使solr返回與建議完全匹配,例如:
我正在使用此字段獲取建議:
<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
任何想法如何使Solr返回精確匹配建議?
您正在使用SpellChecker組件,正如其名稱所示,該組件用於拼寫檢查。 它返回應該如何拼寫輸入的建議。 當單詞拼寫正確(等於完全匹配)時,它不返回任何內容,這就是您在列表中看不到該單詞的原因。
從Solr 4.7開始,我們添加了一個新的Suggestion組件,它實際上是為了自動提供而實現的,並產生了你期望的結果。
你可以嘗試這個嗎?
<fieldType name="textSpellShingle" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50" side="front"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="50" side="back"/>
</analyzer>
</fieldType>
正如在這個維基頁面中提到的: https : //cwiki.apache.org/confluence/display/solr/Suggester
To be used as the basis for a suggestion, the field must be stored.
確保存儲您的字段。 您的字段未存儲,因此它返回由您的索引器壓縮的數據。
你的問題來了,因為你使用了基於拼寫檢查組件的舊建議組件(我想你在5之前使用過solr版本)。
使用舊的拼寫檢查/建議,如果單詞匹配則不會在響應中返回!
使用solr.suggestComponent進行測試(如果您的版本中存在)。
請參閱: https : //cwiki.apache.org/confluence/display/solr/Suggester
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.