search - 在 Solr 索引时删除变音符号

标签 search solr full-text-search solr4

我正在研究 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/

相关文章:

google-app-engine - bigtable 上的全文搜索

mysql - 如何在不丢失全文索引的情况下连接表?

sql - 逻辑搜索字段数据库选择问题

java - 删除文件中的重复数据

javascript - 如何查找以特定字母开头的单词?

search - ArrayFire帧搜索算法崩溃

java - 无法启动 DSE 搜索的 solr 方面

mysql - 使用 Solr 数据导入处理程序将多值字段从 mySQL 导入 Solr

PHP Solr Xpath错误: no elements found

c# - 如何在特定选定项目内的 TFS 源代码管理中搜索特定文件?