Apache Solr - 架构


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

建筑学

Solr 架构 ─ 构建块

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

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

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

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

  • 响应编写器- Apache Solr 中的响应编写器是为用户查询生成格式化输出的组件。Solr 支持 XML、JSON、CSV 等响应格式。对于每种类型的响应,我们都有不同的响应编写器。

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

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