(不仅仅是)如何在 Drupal 8 中配置 Apache Solr 以获得强大的搜索体验
已发表: 2020-04-28结合 Apache Solr 和 Drupal 8 的强大功能,可以提供无与伦比的数字体验以及高性能的企业级搜索特性和功能。 在本文中,我们将了解为什么应该选择 Drupal Apache Solr 以及如何在 Drupal 8 中配置 Apache Solr。
什么是 Apache Solr?
Solr 是一个可靠且可提升的开源搜索 API 平台,提供分布式索引和负载平衡查询。 这个基于 Java 的项目最初是为 CNET Networks 构建的,后来被提供给 Apache 软件基金会。 Drupal Apache Solr 是超快速、可靠和出色的搜索应用程序的最佳解决方案。 Netflix、Instagram 和 Twitter 等巨头,包括各种电子商务网站和 CMS,都使用 Apache Solr 来提供搜索功能。

为什么选择 Apache Solr?
Drupal 8 核心中有许多选项可用于实现您的搜索 API 功能和特性,为什么要选择带有 Drupal 8 的 Apache Solr? 以下是 Drupal Apache Solr 可能最适合您的项目的一些原因:
- Drupal Apache Solr 提供分面导航,让用户可以添加多个过滤器,帮助他们轻松浏览大量信息。 Facets 是可以查询的导航元素。
- 它允许全文搜索,提供精确的结果以及近乎实时的索引和搜索功能。 使用 Drupal Apache Solr 进行索引不仅速度更快,而且还可以合并和进一步优化。
- Hit Highlight 功能可以突出显示搜索词或短语,以便于识别。
- 动态聚类功能允许对搜索结果进行分组并提供相关搜索或推荐。
- 允许拼写检查和自动完成建议以获得更好的搜索 API 体验。
使用 Drupal Apache Solr 可以更好地控制您的网站搜索并提供交互式管理界面。 查看我们如何帮助领先的医疗保健提供商通过 Apache Solr 和 Drupal 提升他们的搜索体验。
在 Drupal 8 中实现 Apache Solr
让我们把这个过程分为以下几个部分:
- 安装 Apache Solr
- 安装 Drupal Solr 模块
- 使用 Drupal 模块配置 Apache Solr
1. 安装 Apache Solr
第 1 步:安装 Java
由于Apache Solr 完全基于Java,因此我们需要先安装Java。 对于 Apache Solr 7,我们需要 Java 8 或更高版本才能运行。 如果您的系统中没有安装 Java,请使用以下命令安装 Java –
$sudo apt 安装 openjdk-11-jdk
使用以下命令验证活动的 Java 版本 -
$java -version
第 2 步:在 Ubuntu 上安装 Apache Solr
现在,您可以从其官方站点下载最新的 Apache Solr 版本。 否则,您也可以使用以下命令 –
$cd /选择 $wget https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz
现在,从下载的 Solr 存档文件中提取 Apache Solr 服务安装程序 shell 脚本,并使用以下命令运行安装程序。
$tar xzf solr-7.7.2.tgz solr-7.7.2/bin/install_solr_service.sh --strip-components=2
$sudo bash ./install_solr_service.sh solr-7.7.2.tgz
现在,Solr 应该安装在您的系统上。 您可以使用这些命令来启动、停止和检查 Solr 服务的状态——
$sudo 服务 solr 停止 $sudo 服务 solr 启动 $sudo 服务 solr 状态
默认 Solr 在端口 8983 上运行。您可以通过在浏览器中输入localhost:8983来访问您的 Solr 管理面板。

2. 在 Drupal 8 中安装 Search API Solr 模块
在我们继续之前,应该安装 Drupal 8 Search API Solr 模块。 此搜索模块将 Drupal 与 Apache Solr 搜索平台集成,并为搜索 API 模块提供 Solr 后端。
使用 Composer 使用以下命令在您的站点中安装此 Drupal solr 模块 -
$composer 需要 drupal/search_api_solr
完成后,启用该模块。
转到扩展 → 搜索搜索 API Solr 搜索 → 启用它
3. 使用 Drupal Search API Solr 模块配置 Apache Solr
步骤 1:在 Apache Solr 中创建核心
安装 Solr 后,您需要在 Solr 中创建一个核心,以便与 Solr 平台一起工作。 这是我们可以将内容索引到 Solr 核心的重要步骤。 您可以在您创建的核心中看到索引的内容。 您可以在 ubuntu 中使用以下命令创建核心 –
$sudo su - solr -c "/opt/solr/bin/solr create -c first_solr_core -n data_driven_schema_configs"
此命令将根据 Solr 的安装位置而有所不同。 在这里,它位于我的 Ubuntu 系统的 /opt 文件夹中。 您可以在 Solr 管理面板中看到创建的核心。

第 2 步:创建 Solr 服务器
在这一步中,您需要在 Drupal 网站中创建 Solr 服务器和索引。 创建 Solr 服务器 -

转到配置 -> 搜索和元数据 -> 搜索 API -> 单击添加服务器

当您单击添加服务器时,您将获得一张表格,您需要填写该表格
- 服务器名称:输入服务器名称
- 启用:您需要选中启用复选框。 如果不启用它,则无法索引项目
- 添加服务器描述:服务器的简要描述。

接下来,您需要配置 Solr 后端。 单击表单中的CONFIGURE SOLR BACKEND 。 您可以看到如下图所示的表单元素:

Solr 连接器:有四个连接器可用。 您需要选择一个用于此 Solr 服务器的连接器。 我正在使用标准连接器。
HTTP 协议:选择 https 或 Http(取决于您的服务器是否使用 SSL)。
Solr 主机: localhost(如果您的 Solr 服务器在不同的机器上,请在此处输入该主机的 IP 或主机名)
Solr 端口: 8983(这是默认端口)
Solr路径: “/”(定位服务器的路径,这是基于solr服务器版本如果solr服务器版本是6.6.4在这种情况下solr路径与“/solr”不同)。
Solr 核心:输入您之前创建的 solr 核心名称。
定义的默认值工作正常。 但是,您也可以相应地更改它们。
第 3 步:创建搜索索引
在这里,我们将创建一个搜索 API 索引,它将索引您在索引中选择的数据源。 创建索引 -
转到配置 ->搜索和元数据 -> 搜索 API -> 添加索引

索引名称:输入索引名称。
数据源:在这里您需要选择数据源来索引搜索功能的项目。 在我的示例中,我选择了内容。 当您选择内容时,您将获得在CONFIGURE THE CONTENT DATASOURCE 中选择捆绑包的选项。 在这里,您需要选择要索引的包。
服务器:选择服务器以索引项目。 我选择了 Apache-solr-server。
已启用:这将启用索引。 不要忘记启用选定的服务器以使其正常工作。
完成后,点击保存并添加字段。

成功创建索引后,您现在需要向索引添加字段。
要添加您需要的字段,请返回搜索 API,单击编辑您创建的索引。
然后您将看到字段选项卡。 单击字段选项卡,您将看到如下图所示的窗口。

接下来,单击添加字段。 在出现的弹出窗口中,您需要添加您需要的字段。 添加字段后,单击完成,然后单击保存。

现在,在网站上创建了索引和服务器。 在此之后,下一个重要步骤是将配置文件复制到 Solr 核心。 为此,您需要从网站的服务器下载配置文件。
转到配置 -> 搜索和元数据 -> 搜索 API -> <服务器名称>
您将看到如下图所示的窗口 –

接下来,单击“获取 config.zip ”按钮。 这将下载配置文件夹。 完成后,解压缩 zip 文件夹并将所有文件复制到核心的 conf 文件夹中。

要复制文件,请打开终端并移至 Solr 核心文件夹。 在 Ubuntu 中,Solr 核心文件夹将存储在/var/solr/data 中。 在数据文件夹中,您将看到之前创建的 Solr 核心文件夹。 转到那个 Solr 核心文件夹,您将找到一个名为conf的文件夹。 在这个文件夹中你会找到一些文件。 删除这些文件并从从网站服务器下载的 config 文件夹中复制所有文件。 完成后,您需要在终端中重新启动 Solr 服务器。
下一步是索引内容 -
转到配置 -> 搜索和元数据 -> 搜索 API -> 单击您创建的索引。 您将看到如下图所示的窗口。

接下来,单击索引以索引内容。 现在所有内容都在 Solr 核心中建立了索引。 现在您可以创建 Solr 索引的视图并将索引字段添加到视图中以从 Drupal 8 Solr 获取结果。
