【发布时间】:2016-11-08 20:29:13
【问题描述】:
我在通过查询发送到 solr 的搜索词中遇到特殊字符问题。 当我搜索零件号 123-45 时,我应该得到 2 个结果,即 123-45 和 12345。 请让我知道如何做到这一点以及我需要在 schema.xml 中使用的配置 谢谢
【问题讨论】:
标签: solr schema special-characters
我在通过查询发送到 solr 的搜索词中遇到特殊字符问题。 当我搜索零件号 123-45 时,我应该得到 2 个结果,即 123-45 和 12345。 请让我知道如何做到这一点以及我需要在 schema.xml 中使用的配置 谢谢
【问题讨论】:
标签: solr schema special-characters
如果这是您要删除的唯一字符,请在索引和查询时使用 PatternReplaceFilterFactory 将“-”替换为“”:
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" />
</analyzer>
KeywordTokenizer 会将整个术语保留为单独的标记,而 PatternReplaceFilterFactory 将删除任何 - 并将其替换为空,这意味着索引和查询的术语都将被规范化为 12345。
【讨论】:
使用模糊搜索123-45~0.1
它搜索字符串标记,它的 Levenshtein 距离接近 0.1。
【讨论】: