Solr 如何使用普通字符 N 搜索 ñ 和 Ñ,反之亦然

Jig*_*esh 3 solr non-ascii-characters

我们如何将非 ASCII 字符映射到 ASCII 字符?

例如:在 solr 索引中,我们有单词包含 char ñ, Ñ [LATIN CAPITAL LETTER N WITH TILDE] 或 normal n,N 然后我们使用什么过滤器/标记来搜索 Normal N 或 Ñ 并且两者都映射。

che*_*ffe 5

合并Solr、特殊字符和拉丁语到 Cyrilic 字符转换的答案

  1. 看看Solr 的分析器、分词器和分词过滤器,它们很好地介绍了您正在寻找的操作类型。
  2. ASCIIFoldingFilterFactory可能正是您想要的。

更改分析器以删除重音时,请记住您需要重新索引。否则重音字符将保留在索引中,但无法创建用户输入来匹配它们。

更新

我尝试使用ICUFoldingFilterFactory这对那些口音很好用。如果这个设置起来很棘手,请查看 SO 问题Can not use ICUTokenizerFactory in Solr

这个分析仪

<fieldType name="spanish" class="solr.TextField">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.ICUFoldingFilterFactory" />
    </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

给我这些分析结果,截图来自 solr-admin

在此处输入图片说明