0
我想用solr實現自動完成搜索。用戶正在搜索人員的姓名。自動完成由NGrams完成。這是正常工作,所以當我搜索「卡羅」我找到「卡羅琳」。我現在想做的是一個字符映射。用戶應該在搜索中輸入「Karo」來找到「Caroline」。所以「k」將被映射到「c」。當我用下面的配置進行搜索時,通過搜索「Karo」或「Karoline」(「Caro」作品)得到空的結果。Solr與NGrams和MappingCharFilter的自動完成
我已經創建了以下內容的mapping.txt:
"k" => "c"
這裏是我的領域配置:
<fieldType name="string_wildcard" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" side="front"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.MappingCharFilterFactory" mapping="/home/martin/mapping.txt"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
我希望你能幫助我。謝謝!