Solr 中的文档分析

以下部分描述了 Solr 如何分解和处理文本数据。需要理解三个主要概念:分析器、分词器和过滤器。

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

  • 分词器将字段数据分解为词汇单元或标记

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

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

虽然分析过程用于索引和查询,但并不要求对两种操作使用相同的分析过程。对于索引,您通常希望简化或规范化单词。例如,将所有字母设置为小写,消除标点符号和重音符号,将单词映射到它们的词干等等。这样做可以提高召回率,因为例如,“ram”、“Ram”和“RAM”都将匹配对“ram”的查询。为了提高查询时的准确性,过滤器可以通过缩小匹配范围来缩小匹配范围,例如,如果您对公羊感兴趣,而不是随机存取内存,则忽略所有大写的首字母缩写词。

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

更多信息

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

分析器:Solr 分析器概述。

分词器:分词器和分词器工厂类。

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

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

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

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