【问题标题】:Solr issue with escaping special charactersSolr 转义特殊字符的问题
【发布时间】:2016-11-08 20:29:13
【问题描述】:

我在通过查询发送到 solr 的搜索词中遇到特殊字符问题。 当我搜索零件号 123-45 时,我应该得到 2 个结果,即 123-45 和 12345。 请让我知道如何做到这一点以及我需要在 schema.xml 中使用的配置 谢谢

【问题讨论】:

    标签: solr schema special-characters


    【解决方案1】:

    如果这是您要删除的唯一字符,请在索引和查询时使用 PatternReplaceFilterFactory 将“-”替换为“”:

    <analyzer>
      <tokenizer class="solr.KeywordTokenizerFactory"/>
      <filter class="solr.PatternReplaceFilterFactory" pattern="-" replacement="" />
    </analyzer>
    

    KeywordTokenizer 会将整个术语保留为单独的标记,而 PatternReplaceFilterFactory 将删除任何 - 并将其替换为空,这意味着索引和查询的术语都将被规范化为 12345

    【讨论】:

      【解决方案2】:

      使用模糊搜索123-45~0.1

      它搜索字符串标记,它的 Levenshtein 距离接近 0.1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多