我遇到通过查询发送到solr的搜索词中的特殊字符问题。 当我搜索零件号123-45时,我应该得到2个结果,即123-45和12345。 请告诉我如何执行此操作以及我需要在schema.xml中使用的配置 感谢
答案 0 :(得分:0)
使用模糊搜索123-45~0.1
它搜索字符串标记,其Levenshtein距离接近0.1。
答案 1 :(得分:0)
如果这是您要删除的唯一字符,请在编制索引和查询时使用PatternReplaceFilterFactory将“ - ”替换为“”:
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" />
</analyzer>
KeywordTokenizer将整个术语保持为单独的标记,PatternReplaceFilterFactory将删除任何-
并将其替换为空,这意味着索引和查询的术语将被标准化为12345