2012-10-11 32 views
0

A,该指标以下字符串搜索: “奥多涅斯” 为:然后Solr的搜索与非标准ASCII字符

text :lastname 

搜索为:

User.solr_search do 
    keywords 'Ordonez' 
end 

将返回0的结果。

我怎能指数的字符串:奥多涅斯使用Solr的,当为

keywords 'Ordonez'keywords 'Ordoñez'

执行搜索我曾尝试ASCIIFoldingFilter在索引时间获得了比赛,但这并没有做的工作。

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

回答

0

我的问题是有这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>