2012-10-11 36 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>