Solr问题转义特殊字符
问题描述:
我遇到问题通过查询发送到solr的搜索字词中的特殊字符。 当我搜索零件号123-45时,我应该得到2个结果,即123-45和12345. 请让我知道如何做到这一点以及我需要在schema.xml中使用的配置 谢谢Solr问题转义特殊字符
答
如果这是您要删除,请使用PatternReplaceFilterFactory更换唯一字符“ - ”与“”当你索引和查询:
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" />
</analyzer>
的KeywordTokenizer将继续全期为单独的令牌,并且PatternReplaceFilterFactory将删除任何-
并将其替换为无,这意味着索引和查询的术语将被归一化为12345
。
答
使用模糊搜索123-45~0.1
它搜索字符串标记,其中有Levenshtein距离接近0.1。
这对我有用。谢谢@MatsLindh – user3364886