Apache Solr 简明教程

Apache Solr - Architecture

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

solr architecture

Solr Architecture ─ Building Blocks

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

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

  2. Search Component − 搜索组件是 Apache Solr 中提供的一种搜索类型(功能)。它可能是拼写检查、查询、分面、点击突出显示等等。这些搜索组件被注册为 search handlers 。可以向一个搜索处理程序注册多个组件。

  3. Query Parser − Apache Solr 查询解析器解析我们传递给 Solr 的查询并检查查询的语法错误。在解析查询后,它会将查询翻译成 Lucene 能够理解的格式。

  4. Response Writer − Apache Solr 中的响应生成器是为用户查询生成格式化输出的组件。Solr 支持 XML、JSON、CSV 等响应格式。我们为每种类型的响应配置不同的响应生成器。

  5. Analyzer/tokenizer − Lucene 以标记的形式识别数据。Apache Solr 分析内容、将内容分成标记,并将这些标记传递给 Lucene。Apache Solr 中的分析器会检查字段的文本并生成标记流。标记生成器会将分析器准备好的标记流分解成标记。

  6. Update Request Processor − 每当我们向 Apache Solr 发送更新请求时,该请求就会通过一组插件(签名、日志记录、索引)运行,这些插件统称为 update request processor 。此处理器负责修改,例如删除字段、添加字段等。