安装 Solr

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

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

可用的 Solr 软件包

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

有三个单独的软件包

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

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

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

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

准备安装

当您开始使用 Solr 时,您只需将 Solr 发行版归档文件解压到您选择的目录即可。这足以作为初始开发环境,但在设置真正的开发和生产环境之前,请注意不要过度使用此“玩具”安装。

当您在对 Solr 进行初步评估后有所进展时,您需要注意规划您的实施。您可能需要在另一台服务器上重新安装 Solr 或创建一个集群 SolrCloud 环境。

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

我需要多大的服务器?

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

强烈建议您花一些时间思考会影响 Solr 实施硬件规模的因素。一篇非常好的博客文章讨论了需要考虑的问题,即抽象中的硬件规模:为什么我们没有明确的答案

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

软件包安装

为了现在保持简单,请将 Solr 发行版存档提取到您的本地主目录

cd ~/
tar zxf solr-9.7.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 工具,它为将内容 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。 有关如何使用此示例的详细信息,请参阅此处的 README。

films

films 目录包含关于电影的丰富数据集,格式为三种:CSV、XML 和 JSON。 有关如何使用此数据集的详细信息,请参阅此处的 README。

启动 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 start -e techproducts

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

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

检查 Solr 是否正在运行

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

bin/solr status

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

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

https://127.0.0.1:8983/solr/

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

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

创建核心

如果您没有使用示例配置启动 Solr,则需要创建一个核心才能进行索引和搜索。 您可以通过运行来执行此操作

bin/solr create -c <name>

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

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

bin/solr create --help