我已安装solr 3.5 我想搜索一下单词(西班牙语单词) enseñé étnico 卡斯塔诺 después
与ascent,é等。
但solr并不是从索引中搜索这样的单词。 我用过
<!-- 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 :(得分:0)
您可以使用Solr分析仪查看您的查询和索引内容的分析方式:
http://192.168.0.1:8080/solr/#/your_core_name/analysis
你只是这样做:
/select?q=name:castaño
答案 1 :(得分:0)
您可以尝试使用ASCIIFoldingFilterFactory过滤器。
它将具有上升的字符转换为它们的无上升对应物。 把它放在schema.xml中:
<filter class="solr.ASCIIFoldingFilterFactory"/>
注意:缺点是像“cañon”和“canon”这样的词语现在是等价的,并且两者都是相同的文件IIRC。
答案 2 :(得分: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>