2013-05-18 61 views
0

口音搜索西班牙語單詞我有安裝Solr的3.5 我想搜索詞(西班牙語單詞),如 enseñé étnico 卡斯塔諾 después無法Solr中

與上升N,E等

但是索爾不是從索引搜索這樣的詞。 我用

<!-- Spanish --> 
    <fieldType name="text_es" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_es.txt" format="snowball" enablePositionIncrements="true"/> 
     <filter class="solr.SpanishLightStemFilterFactory"/> 
     <!-- more aggressive: <filter class="solr.SnowballPorterFilterFactory" language="Spanish"/> --> 
     </analyzer> 
    </fieldType> 

,如:

<field name="name" type="text_es" indexed="true" stored="true"/> 
<field name="features" type="text_es" indexed="true" stored="true" multiValued="true"/> 

但仍然無法與搜索上升西班牙語單詞..

請讓我知道,如果我缺少什麼?

感謝

回答

0

您可以用Solr的分析您的查詢,您的索引內容如何讓分析查詢:

http://192.168.0.1:8080/solr/#/your_core_name/analysis 

你簡單地做:

/select?q=name:castaño 
0

您可以嘗試使用ASCIIFoldingFilterFactory過濾器。

它將字符與上升轉換爲它們的非上升副本。在schema.xml中 將這個:

<filter class="solr.ASCIIFoldingFilterFactory"/> 

注:缺點是,像「內經」和單詞「典」是相當於現在和IIRC雙雙創下相同的文檔。

0

你有這樣的:

<fieldType name="text_es" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_es.txt" format="snowball" enablePositionIncrements="true"/> 
     <filter class="solr.SpanishLightStemFilterFactory"/> 
     <!-- more aggressive: <filter class="solr.SnowballPorterFilterFactory" language="Spanish"/> --> 
     </analyzer> 
    </fieldType> 

但它與它的工作原理:

<fieldType name="text_es" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_es.txt" format="snowball" enablePositionIncrements="true"/> 
     <!-- <filter class="solr.SpanishLightStemFilterFactory"/> --> 
     <filter class="solr.SnowballPorterFilterFactory" language="Spanish"/> 
     </analyzer> 
    </fieldType>