安装 Solr

在 Unix 兼容或 Windows 服务器上安装 Solr 通常只需要解压(或解压缩)下载包。

在启动 Solr 之前,请务必查看系统要求

可用的 Solr 包

Solr 可从 Solr 网站获得。下载最新版本 https://solr.net.cn/downloads.html

有三个独立的包

  • solr-9.5.0.tgz 适用于所有操作系统的完整二进制包。此包包括所有第一方 Solr 模块和附件(例如 prometheus-exporter)。

  • solr-9.5.0-slim.tgz 适用于所有操作系统的精简二进制包。此包仅包含运行 Solr 所必需的内容。不包括模块和附件(例如 prometheus-exporter)。

  • solr-9.5.0-src.tgz Solr 源代码包。如果您想在不使用官方 Git 存储库的情况下在 Solr 上进行开发,这将很有用。

提供了两个 Docker 镜像,它们利用了完整和精简的二进制文件。有关如何使用它们的更多信息,请参阅Solr in Docker页面。

准备安装

在开始使用 Solr 时,您需要做的就是将 Solr 分发存档解压缩到您选择的目录中。这将足以作为初始开发环境,但请注意不要在设置真正的开发和生产环境之前对这个“玩具”安装进行过度征税。

当您完成对 Solr 的初始评估后,您需要仔细规划您的实施。您可能需要在另一台服务器上重新安装 Solr 或创建一个集群 SolrCloud 环境。

当您准备为生产环境设置 Solr 时,请参阅 将 Solr 应用于生产 页面上提供的说明。

我需要多大的服务器?

如何调整 Solr 安装大小是一个复杂的问题,它取决于许多因素,包括文档的数量和结构、您打算存储的字段数、用户数量等。

强烈建议您花一点时间考虑会影响 Solr 实现的硬件调整大小的因素。一篇讨论要考虑的问题的非常好的博客文章是 抽象中的硬件调整大小:为什么我们没有明确的答案

在规划安装时需要注意的一件事是,Lucene 中存在单个索引中文档数量的硬限制:大约 21.4 亿个文档(确切地说为 2,147,483,647)。实际上,如此大量的文档不太可能适合并在一个索引中表现良好,并且在接近此数量之前,您可能需要在集群中分发索引。如果您知道在开始索引之前总文档数量将超过此数量,最好从一开始就将 SolrCloud 作为设计的一部分来规划安装。

软件包安装

为了现在保持简单,将 Solr 分发存档解压缩到您的本地主目录

cd ~/
tar zxf solr-9.5.0.tgz

解压缩后,您现在可以按照下面 启动 Solr 部分中提供的说明运行 Solr。

自 Windows 10 起,Windows 包含 tar 工具。打开命令行窗口并执行上述命令。还有几个支持 .tar 存档的第三方解压缩工具。

目录布局

安装 Solr 后,您将在其中看到以下目录和文件

bin/

此目录包含几个重要的脚本,这将使使用 Solr 变得更容易。

solr 和 solr.cmd

这是 Solr 的控制脚本,也称为 bin/solr (*nix) / bin/solr.cmd (Windows)。此脚本是启动和停止 Solr 的首选工具。您还可以在 SolrCloud 模式下运行时创建集合或核心、配置身份验证以及使用配置文件。

post

Post 工具,它为向 Solr 发布内容提供了一个简单的命令行界面。

solr.in.sh 和 solr.in.cmd

这些分别是 *nix 和 Windows 系统的属性文件。此处配置了 Java、Jetty 和 Solr 的系统级属性。使用 bin/solr / bin/solr.cmd 时可以覆盖其中的许多设置,但这允许您将所有属性设置在一个地方。

install_solr_services.sh

此脚本在 *nix 系统上用于将 Solr 安装为服务。它在 将 Solr 投入生产 一节中进行了更详细的描述。

modules/

Solr 的 modules 目录包括用于增强 Solr 的专业功能的一方附加组件。有关详细信息,请参阅 Solr 模块 一节。这未包含在 slim 发行版中。

prometheus-exporter/

一个独立应用程序,包含在 bin/ 中,它监控 Solr 实例并生成 Prometheus 指标。有关详细信息,请参阅 使用 Prometheus 和 Grafana 进行监控 一节。这未包含在 slim 发行版中。

docker/

其中包含一个 Dockerfile,用于从二进制发行版构建一个与官方镜像兼容的 Docker 镜像。此目录还包含在 Docker 镜像内使用 Solr 时所需的脚本,位于 scripts/ 目录中。此目录中的 README.md 描述了如何使用此二进制发行版构建自定义 Solr Docker 镜像。有关使用 Solr Docker 镜像的信息,请参阅 Solr in Docker 页面。

lib/

Solr 将在此文件夹中查找其他插件 jar 文件。

dist/

dist 目录包含 Solr 的主 .jar 文件。

docs/

docs 目录包含 Solr 在线 Javadoc 的链接。

example/

example 目录包含多种类型的示例,演示了各种 Solr 功能。有关此目录中内容的更多详细信息,请参阅下面的 Solr 示例 一节。

licenses/

licenses 目录包含 Solr 该发行版使用的所有第三方库的许可证。

server/

此目录是 Solr 应用程序的核心所在。此目录中的 README 提供了详细概述,但以下是一些重点

  • Solr 的管理 UI 和 JAR 文件 (server/solr-webapp)

  • Jetty 库 (server/lib)

  • 日志文件 (server/logs) 和日志配置 (server/resources)。有关如何自定义 Solr 的默认日志记录的更多详细信息,请参阅 配置日志记录 一节。

  • 示例配置集 (server/solr/configsets)

Solr 示例

完整的 Solr 分发版包括许多示例文档和配置,可在开始使用时使用。如果您已完成 Solr 教程,您已与其中一些文件进行了交互。

以下是 Solr 中包含的示例

exampledocs

这是一组简单的 CSV、XML 和 JSON 文件,可在刚开始使用 Solr 时与 bin/solr post 一起使用。有关如何将 bin/solr post 与这些文件一起使用的更多信息,请参阅 Post 工具

files

files 目录为 Word 或 PDF 等您可能已本地存储的文档提供了一个基本的搜索 UI。有关如何使用此示例的详细信息,请参阅其中的自述文件。

films

films 目录包含一组关于电影的强大数据,格式为 CSV、XML 和 JSON。有关如何使用此数据集的详细信息,请参阅其中的自述文件。

启动 Solr

Solr 包含一个名为 bin/solr(Linux/MacOS)或 bin\solr.cmd(Windows)的命令行界面工具。此工具允许您启动和停止 Solr,创建核心和集合,配置身份验证,并检查系统的状态。

若要使用它启动 Solr,您只需输入

bin/solr start

如果您运行的是 Windows,则可以通过运行 bin\solr.cmd 来启动 Solr。

bin\solr.cmd start

这将在后台启动 Solr,在端口 8983 上侦听。

当您在后台启动 Solr 时,脚本将等待以确保 Solr 正确启动,然后再返回到命令行提示符。

Solr CLI 的所有选项都在 Solr 控制脚本参考 部分中进行了描述。

使用特定捆绑示例启动 Solr

Solr 还提供了许多有用的示例,以帮助您了解关键功能。您可以使用 -e 标志启动示例。例如,要启动“techproducts”示例,您将执行

bin/solr -e techproducts

当前,您可以运行的可用示例包括:techproducts、schemaless 和 cloud。有关每个示例的详细信息,请参阅 使用示例配置运行 部分。

SolrCloud 入门
运行 cloud 示例将以 SolrCloud 模式启动 Solr。有关以 SolrCloud 模式启动 Solr 的更多信息,请参阅部分 SolrCloud 入门

检查 Solr 是否正在运行

如果您不确定 Solr 是否在本地运行,则可以使用 status 命令

bin/solr status

这将在您的计算机上搜索正在运行的 Solr 实例,然后收集有关它们的详细信息,例如版本和内存使用情况。

就是这样!Solr 正在运行。如果您需要确信,请使用 Web 浏览器查看管理控制台。

http://localhost:8983/solr/

Solr’s Admin UI
图 1. Solr 管理界面。

如果 Solr 未运行,您的浏览器会抱怨无法连接到服务器。检查您的端口号并重试。

创建核心

如果您没有使用示例配置启动 Solr,则需要创建一个核心才能索引和搜索。您可以通过运行以下命令来做到这一点

bin/solr create -c <name>

这将创建一个使用数据驱动架构的核心,该架构会在您将文档添加到索引时尝试猜测正确的字段类型。

要查看创建新核心的所有可用选项,请执行

bin/solr create -help