Solr 架构

 

Apache Solr 是一个基于 J2EE 的应用程序,它在内部使用 Apache Lucene 库来生成索引并提供用户友好的搜索。 Apache Solr 的架构已经在下面的框图的帮助下进行了描述。

Apache Solr 是一个 J2EE 基于应用程序,它在内部使用 Apache Lucene 库来生成索引并提供用户友好的搜索。 Apache Solr 的架构已经在下面的框图的帮助下进行了描述。

Apache Solr Architecture

Apache Solr 的实例可以作为单核或多核应用程序运行,并且基于客户端-服务器模型。以前,apache solr 有一个内核,它限制消费者在一个应用程序上通过单个配置文件和模式运行 solr。在开发后期,可以支持多核的创建。您可以通过统一管理为多个架构和配置运行一个 Solr 实例。 Apache solr 运行在分布式模型中,以实现高可用性和可扩展性。

solr 的整体架构在逻辑上分为四层。存储层负责管理索引和配置元数据。它位于运行实例的 J2EE 容器内,而 solr 引擎是运行在容器之上的应用程序包。最后,交互表示客户端/Apache Solr 服务器如何与网络浏览器交互。让我们在接下来的部分中详细了解每个组件。

 

存储

Apache Solr 存储主要用于存储元数据和必要的索引信息。通常是在 Apache Solr 的配置文件中本地配置的文件存储。安装包默认自带一个Jetty servlet和HTTP服务器,安装包相关的配置可以在$solr中找到。 Solr安装中的 Home/conf 文件夹。一个索引包含文档的顺序,Apache Solr 中可以配置外部存储设备。例如,数据库或大数据存储系统。

存储组件

字段集合称为文档。

一个字段被命名为一个术语序列。

一个字符串与术语相关。

 

Apache Solr 的构建块

以下是 Apache Solr 的基本构建块和组件?

请求处理程序? 请求由我们发送到 Apache Solr 服务器的这些请求处理程序处理。例如索引更新请求或查询请求。根据我们的要求,我们必须选择请求处理程序。我们会将处理程序映射到特定的 URI 端点,一般来说,将请求传递给 Solr,指定的请求将由它提供服务。

搜索组件它是 Apache Solr 中可用的搜索功能。它可以是拼写检查、分面、查询、命中突出显示等。所有组件都注册为搜索处理程序。您可以向搜索处理程序注册多个组件。

查询解析器 Apache Solr 中的查询解析器解析我们传递给 Solr 服务器的查询并验证查询是否存在语法错误.它将它们转换为 Lucene 应用程序在解析查询后能够理解的格式。

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

分析器/标记器- Apache Solr 识别令牌的形式。它分析将其划分为令牌的内容并将所有令牌传递给 Lucene。 Apache Solr 中的分析器可用于检查字段文本并创建令牌流。分析器准备的令牌流可以分解为令牌。

更新请求处理器- 当我们从 Apache Solr 获取更新请求时,更新请求将通过一个集合运行插件(即签名、日志记录、索引),统称为更新请求处理器。这个更新请求处理器负责修改,比如增加一个字段,删除一个字段等。

 在 Apache Solr 中,以下是我们在使用 Apache solr 时将使用的通用术语。Instance: Solr中的Instance类似于Tomcat实例或jetty实例,指的是应用程序服务器,在 ...