Apache Solr 架构


在本章中,我们将讨论 Apache Solr 的架构。下图显示了 Apache Solr 架构的框图。

Architecture

Solr 架构 ─ 构建块


以下是 Apache Solr 的主要构建块(组件):

  • 请求处理程序 : 我们发送给 Apache Solr 的请求是由这些请求处理程序处理的。这些请求可能是查询请求或索引更新请求。根据我们的要求,我们需要选择请求处理程序。要将请求传递给 Solr,我们通常会将处理程序映射到某个 URI 端点,指定的请求将由它处理。

  • 搜索组件 : 搜索组件是Apache Solr中提供的一种搜索类型(特性)。它可能是拼写检查、查询、分面、命中突出显示等。这些搜索组件注册为 搜索处理程序 .可以将多个组件注册到搜索处理程序。

  • 查询解析器 : Apache Solr 查询解析器解析我们传递给 Solr 的查询并验证查询是否存在语法错误。在解析查询之后,它将它们转换为 Lucene 可以理解的格式。

  • 回复作者 : Apache Solr 中的响应编写器是为用户查询生成格式化输出的组件。 Solr 支持 XML、JSON、CSV 等响应格式。每种响应类型都有不同的响应编写器。

  • 分析器/分词器 : Lucene 以token 的形式识别数据。 Apache Solr 分析内容,将其划分为令牌,并将这些令牌传递给 Lucene。 Apache Solr 中的分析器检查字段文本并生成令牌流。标记器将分析器准备的标记流分解为标记。

  • 更新请求处理器 : 每当我们向 Apache Solr 发送更新请求时,该请求都会通过一组插件(签名、日志记录、索引)运行,统称为 更新请求处理器 .该处理器负责修改,例如删除字段、添加字段等。