Solr 中的文档分析

以下部分介绍了 Solr 如何分解文本数据并对其进行处理。有三个主要概念需要理解:分析器、分词器和过滤器。

  • 字段分析器在文档编入索引时和查询时都会使用。分析器检查字段的文本并生成一个标记流。分析器可以是单个类,也可以由一系列分词器和过滤器类组成。

  • 分词器将字段数据分解成词汇单位,或标记

  • 过滤器检查标记流并保留它们、转换或丢弃它们,或创建新的标记。分词器和过滤器可以组合形成管道或,其中一个的输出作为下一个的输入。这样的分词器和过滤器序列称为分析器,分析器的结果输出用于匹配查询结果或构建索引。

使用分析器、分词器和过滤器

尽管分析过程用于编制索引和查询,但没有必要对这两个操作使用相同的分析过程。对于编制索引,你通常希望简化或规范化单词。例如,将所有字母设为小写,消除标点符号和重音,将单词映射到其词干,等等。这样做可以提高召回率,因为例如,“ram”、“Ram”和“RAM”都将匹配查询“ram”。为了提高查询时间精度,过滤器可以通过忽略所有大写缩略词来缩小匹配范围,例如,如果你对公羊感兴趣,但对随机存取存储器不感兴趣。

分析过程输出的标记定义了该字段的值或术语,并且在添加新文档时用于构建这些术语的索引,或用于识别包含你正在查询的术语的文档。

了解更多信息

这些部分将向你展示如何配置字段分析器,还可以作为配置每个可用的分词器和过滤器类的详细信息的参考。它还作为一个指南,以便你可以在无法满足包含的过滤器或分词器的特殊需求的情况下配置自己的分析类。

分析器:Solr 分析器的概述。

标记器:标记器和标记器工厂类。

过滤器:过滤器和过滤器工厂类。

字符过滤器:用于预处理输入字符的过滤器。

语言分析:用于字符集转换和特定语言的标记器和过滤器。

分析屏幕:用于测试字段分析的管理 UI。