Solr问题与转义特殊字符

时间:2016-11-08 09:58:23

标签: solr schema special-characters

我遇到通过查询发送到solr的搜索词中的特殊字符问题。 当我搜索零件号123-45时,我应该得到2个结果,即123-45和12345。 请告诉我如何执行此操作以及我需要在schema.xml中使用的配置 感谢

2 个答案:

答案 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