Apache Solr 教程:什么是 Solr? Archi结构与安装

什么是 Apache Solr?

Apache Solr 是一个用以下语言编写的开源搜索服务器平台 Java Apache 软件基金会开发的语言。它具有高度可扩展性,可以部署搜索引擎来处理大量以文本为中心的数据。使用 Apache Solr 的目的是索引和搜索大量 Web 内容,并根据搜索查询提供相关内容。

Apache Solr 是一个基于 REST-API 的 HTTP 包装器,它围绕着名为 Apache Lucene 的全文搜索引擎。倒排索引是一个单词列表,其中每个单词条目都链接到它所存储的文档。这样,只需使用简单的“get”操作即可获取搜索查询“guru99”的所有文档。

Apache Solr 的历史

  • 1999 年:Doug Cutting 发布了 Lucene
  • 2004 年:Solr 由 Yonik Seeley 在 CNET 开发,作为公司内部项目的一部分
  • 2006 年:CNET 将源代码捐赠给 Apache 软件基金会,并发布了源代码 Foundation
  • 2008 年:Solr 1.3 发布,增强了搜索功能和性能
  • 2010 年:Lucene 与 Solr 合并
  • 2012 年:Solr 4.0 版发布,具有新的 Solr Cloud 功能
  • 2016 年:Solr 6.0 发布,支持执行并行 SQL 查询

Apache Solr 的功能

以下是 Apache Solr 的重要功能:

  • 自动负载平衡
  • 基于标准的开放接口 – XML、JSON 和 HTTP
  • 支持建议和拼写建议
  • 支持自动完成和地理空间搜索
  • 内置身份验证和授权安全性
  • 允许您执行多语言关键字搜索
  • 自动完成/输入预测
  • 批处理和流处理
  • 建立机器学习模型很容易
  • 专门针对高流量网络流量进行了优化
  • 全面的 HTML 欣赏界面
  • 支持 Schema 和 Schemaless 配置
  • 分面搜索和过滤
  • 整个中央配置 Cluster

Apache Solr 中使用的关键术语

现在,在本 Solr 搜索引擎教程中,我们将了解 Apache Solr 中使用的关键术语:

关键词 描述
Solr 核心 Solr Core 可以定义为从所有文档派生出的文本和字段的索引。一个 Solr 实例可以有一个或多个 Solr Core。

核心 = Lucene Index 实例 + Solr 配置

Solr 实例 Solr 实例是 Solr 在 Java 虚拟机(JVM)。在独立模式下,它仅提供一个实例,而在云模式下,您可以拥有一个或多个实例。
索引 索引是将文档内容添加到 Solr 索引的一种方法。Apache Solr 使用 Apache Lucene 倒排索引技术。
文件 它是一组字段及其值。文档是 Apache Core 中存储的基本数据单位。一个 Apache Core 可能包含一个或多个文档。
领域 字段是存储文档中实际数据的键值对。键指定字段名称,值包含该字段的数据。一个文档可能有一个或多个字段。Apache Solr 使用它来索引文档内容。
Restful API 要与 Solr 通信,不需要使用 Java 编程。相反,Apache Solr 提供 宁静的服务 与其通信。您可以发送文档并接收各种文件格式(如 JSON、XML 和 CSV)的结果。
全文检索 Solr 提供全文搜索功能,例如标记、短语、拼写检查、自动完成、通配符等。
管理界面 Solr 提供易于使用、用户友好且功能强大的用户界面。使用该界面,您可以执行管理日志、添加、删除、更新和搜索文档等任务。
以文本为中心并按相关性排序 Apache Solr 用于搜索文本文档,并根据用户的查询提供结果。
Node 在 Solr 云中,每个单独的实例都称为一个节点。
Cluster 集群是节点的集合。
购物 集群具有逻辑索引,也称为集合。
碎片 它是集合的一小部分,提供索引的单个或多个副本。
复制品 副本是在节点中运行的分片的副本。
领导 它是分片的副本,它将 Solr Cloud 的请求发送给其余的副本。

Apache Solr Archi质地

现在,在本 Solr 搜索教程中,让我们了解 Apache Solr Archi結構:

Apache Solr Archi质地
Apache Solr Archi质地

Apache Solr 危害以下组件

询问

查询解析器解析您需要传递给 Solr 的查询。它会验证您的查询以检查语法错误。解析查询后,它会将其转换为 Lucene 可识别的格式。

请求处理程序

发送到 Apache Solr 的请求由请求处理程序处理。请求可以是查询请求或索引更新请求。您需要根据您的需求选择请求处理程序。要将请求传递给 Solr,您需要将处理程序映射到特定的 URL 端点。

回复作者

响应编写器将为输入查询生成格式化的输出。它支持多种格式,如 XML、JSON、CSV 等。不同类型的请求可能有不同的响应编写器。

更新处理程序

当您向 Apache Solr 发送更新请求时,它会通过一组插件、签名、日志记录、索引运行。此过程称为更新请求处理器。更新处理程序还负责添加或删除文件等修改。

Apache Solr 应用程序

应用程序 用法
内部网门户
  • 轻松访问搜索
  • 应用程序启动
  • 新闻和事件通知
  • 单点登录身份验证
联合客户端
  • 简化演示
  • 搜索所有内容
  • 仅限授权访问
  • 文档查看
仪器数据集
  • 针对科学家进行了优化
  • 数据相关菜单
  • 专用网格过滤器
监管文件
  • 专为研究人员设计
  • 丰富的元数据访问
  • 电子表格导出
  • 查看文档加速器
嵌入 PLM 应用程序
  • 提供比 RDBMS 更好的搜索体验
  • 后期绑定安全模型
  • 工具栏上显示的文档操作

如何安装 Apache Solr?

步骤1) 打开网站并继续订阅
去这个 链接,点击“继续订阅”。

安装 Apache Solr

步骤2) 点击“接受条款”
在下一页上,单击“接受条款”。

安装 Apache Solr

步骤3) 等待一段时间
接下来,等待一段时间,然后一段时间后请求被接受。

安装 Apache Solr

步骤4) 继续配置
刷新页面并点击“继续配置”

安装 Apache Solr

步骤5) 继续发布
保留默认设置,然后单击“继续启动”。

安装 Apache Solr

步骤6) 保留设置默认设置
在下一页上,保留设置默认

  • 确保您拥有密钥的 pem 文件
  • 点击“启动”

安装 Apache Solr

您将看到此成功消息

安装 Apache Solr

步骤7) 注意公共 DNS
在 EC2 控制台中,记下实例的公共 DNS

安装 Apache Solr

步骤8) 打开以下网址
要访问 Solr,只需使用 URL

http://publicdns:8983

在我们的例子中它变成

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

安装 Apache Solr

注意:如果您在访问实例时遇到问题,请更改实例中的入站和出站规则以允许所有流量,如下面的 Solr 查询示例所示:

安装 Apache Solr

Elasticsearch 与 Apache Solr

参数 Apache Solr 弹性搜索
自然 它是一个开源项目。 不是一个开源项目。
静态状态 shema.xml 中的静态 elasticsearch.yml 中的静态
格式 XML、CSV、JSON 仅限 JSON
索引 可以在运行时通过收集/核心重新加载进行重新加载 使用 REST 调用在索引/类型创建期间定义
文件管理 这是有据可查的。 它的记录很差。
分裂碎片 可能 不可能

Apache Solr 的优势

  • 帮助您减少查找信息所需的时间
  • 它是一种快速、简单、强大且灵活的搜索引擎
  • 帮助您使您的产品和服务更容易获得
  • 增加客户在 Web 应用程序上的支出
  • 帮助您改善 Web 应用程序的用户体验,以增加收入和利润
  • 全面的基于 HTML 的管理界面
  • XML 配置灵活且适应性强
  • 可扩展插件 Archi质地
  • 高度可扩展、强大、容错的搜索引擎
  • 支持分布式、阴影、复制、 Cluster和多节点 Archi质地

Apache Solr 的缺点

  • 它不是符合 ACID 的数据存储
  • 它不能用作主要数据存储。只能用作辅助数据存储
  • 不提供对交易和分布式交易的支持
  • 不支持连接和复杂查询
  • 对于规范化数据来说不是最佳选择

总结

  • Apache Solr 是一个开源 REST API 基于搜索服务器
  • Apache Solr 由 Yonik Seeley 在 CNET 开发,作为公司内部项目的一部分
  • Apache Solr 提供自动完成和地理空间搜索等功能
  • Solr Core、Solr 实例、索引、文档、Restful API、全文搜索、管理界面等是 Apache Solr 中使用的一些关键术语
  • 查询、请求处理程序、请求编写器和更新处理程序是 Apache Solr 的一些重要组件
  • 内部网门户、联合客户端、仪器数据集、监管文件、嵌入 PLM 应用程序都是有用的 Apache Solr 应用程序
  • Apache Solr 的文档齐全,而 Elastic Search 的文档却很差
  • Apache Solr 的最大优点是它可以帮助您减少查找信息所需的时间
  • 该应用程序的主要缺点是它不是符合 ACID 的数据存储