Solr如何用正常的字符N和反之谜搜索ñ和Ñ

时间:2014-03-28 13:29:55

标签: solr non-ascii-characters

如何使用ASCII字符映射非ASCII字符?

例如:在solr索引中,我们有单词包含charñ,Ñ[带有TILDE的LATIN CAPITAL LETTER N]或正常的n,N 那么我们使用什么过滤器/令牌来搜索Normal N或Ñ并进行映射。

1 个答案:

答案 0 :(得分:4)

合并Solr, Special Chars, and Latin to Cyrilic char conversion

的答案
  1. 看一下Solr's Analyzers, Tokenizers, and Token Filters,它会为您提供一个很好的介绍,让您了解您正在寻找的操作类型。
  2. 可能the ASCIIFoldingFilterFactory完全符合您的要求。
  3. 更改分析器以删除重音时,请记住您需要重新编制索引。否则,重音字符将保留在索引中,但不能创建用户输入以匹配它们。

    <强>更新

    我尝试使用the 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>
    

    得到了我这些分析结果,屏幕截图取自solr-admin

    enter image description here