【问题标题】:Solr search with non-standard ASCII characters使用非标准 ASCII 字符进行 Solr 搜索
【发布时间】:2012-10-11 22:25:23
【问题描述】:

索引以下字符串的搜索:“Ordoñez”为:

text :lastname

然后搜索为:

User.solr_search do 
  keywords 'Ordonez'
end

将返回 0 个结果。

如何索引字符串:Ordoñez 使用 solr 并在执行搜索时获得匹配

keywords 'Ordonez'keywords 'Ordoñez'

我在索引时尝试了ASCIIFoldingFilter,但这并没有起到作用。

Here's 我做了什么来尝试完成这项工作。

【问题讨论】:

    标签: ruby-on-rails search solr sunspot


    【解决方案1】:

    您可能还需要在 Container 端添加处理。

    您可以查看Why don't International Characters Work

    【讨论】:

      【解决方案2】:

      我的问题是这 3 个字段恰好未使用。

      <field name="firstname_text" type="textgen" stored="false" multiValued="true" indexed="true"/>
      <field name="lastname_text"  type="textgen" stored="false" multiValued="true" indexed="true"/>
      <field name="specialty_text" type="textgen" stored="false" multiValued="true" indexed="true"/>
      

      不太清楚为什么,但一旦删除它们,ASCII 过滤器就开始工作了。

      ASCIIFoldingFilterFactory 确实可以完成这项工作。

      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.ASCIIFoldingFilterFactory"/>
        <filter class="solr.SynonymFilterFactory"/>
      </analyzer>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-02
        • 1970-01-01
        • 1970-01-01
        • 2019-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多