2010-06-04 71 views
1

我索引一些用西班牙语写在Solr上的文件,有时候会出现像char *的字符....
我不知道是否有一些TokenFilter在文本有重音时避免这个字符(á,é,í,ó...) 或字母ñ。寻找一个TokenFilter

由于

+0

这听起来更像是一个字符编码问题,而不是应该用“TokenFilters”来解决的问题 – 2010-06-04 10:11:43

+0

但我认为用适当的过滤器或分析器,我可以修复它 – Blanca 2010-06-04 11:21:43

+0

这实际上看起来更像是一个字符集不匹配。你在哪里看到?D?在Solr管理控制台中的应用程序中? – 2010-06-04 17:53:15

回答

0

我添加它,每一个其它过滤器是:

字段类型名称= “textTight” 类= “solr.TextField”
positionIncrementGap = “100”>
分析器>
tokenizer class =“solr.WhitespaceTokenizerFactory”/>

filter class="solr.SynonymFilterFactory"  

同义词= “synonyms.txt” IGNORECASE = “真” 展开= “假”/>
.... - !Filtro对quitar acentosŸNNN - >
charFilter 类=“solr.MappingCharFilterFactory “ 映射=” 映射-ISOLatin1Accent.txt“/> ....
/分析器>
/字段类型>

当然,我重建我的索引之后中。

(我补充这个答案,因为在评论目前还不清楚enaugh)

0

如果你需要它的拉丁语言更简单的解决方案是使用

solr.ASCIIFoldingFilterFactory

像:

<fieldType name="text" class="solr.TextField" omitNorms="false"> 
    <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.ASCIIFoldingFilterFactory"/> 
    <filter class="solr.SnowballPorterFilterFactory" language="Romanian" /> 
    </analyzer> 
</fieldType> 

参见http://wiki.apache.org/solr/LanguageAnalysis以获得更多的提前使用。