我正在研究 Solr 搜索微调。我正在使用 Solr 4.0。
通常,我使用英语的语言分析器和分词器,但是这次我使用葡萄牙语,我遇到了问题,因为它并没有真正给出我需要的预期结果。
例如:我正在搜索单词“proteses”,但索引的内容是带有变音符号的“proteses”。所以它给出了错误的结果!
我需要做的是在索引和搜索之前删除所有变音符号,以便给出正确的结果。但是,我无法找到如何处理这部分。
谁能给我指出正确的方向吗?
最佳答案
您必须对可以包含变音符号的字段使用字符映射过滤器。该过滤器将使它们标准化。
例如:
<fieldType name="text_with_diacritics" class="solr.TextField">
<analyzer>
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
Solr 附带的映射-ISOLatin1Accent.txt 具有许多变音符号的映射。
显然,配置此过滤器后,您必须重新索引文档。
关于search - 在 Solr 索引时删除变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25697009/