【问题标题】: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
【解决方案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>