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>
我希望你能帮助我。谢谢!