(不仅仅是)如何在 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 来提供搜索功能。

Dupal-apache-solr

为什么选择 Apache Solr?

Drupal 8 核心中有许多选项可用于实现您的搜索 API 功能和特性,为什么要选择带有 Drupal 8 的 Apache Solr? 以下是 Drupal Apache Solr 可能最适合您的项目的一些原因:

  1. Drupal Apache Solr 提供分面导航,让用户可以添加多个过滤器,帮助他们轻松浏览大量信息。 Facets 是可以查询的导航元素。
  2. 它允许全文搜索,提供精确的结果以及近乎实时的索引和搜索功能。 使用 Drupal Apache Solr 进行索引不仅速度更快,而且还可以合并和进一步优化。
  3. Hit Highlight 功能可以突出显示搜索词或短语,以便于识别。
  4. 动态聚类功能允许对搜索结果进行分组并提供相关搜索或推荐。
  5. 允许拼写检查和自动完成建议以获得更好的搜索 API 体验。

使用 Drupal Apache Solr 可以更好地控制您的网站搜索并提供交互式管理界面。 查看我们如何帮助领先的医疗保健提供商通过 Apache Solr 和 Drupal 提升他们的搜索体验。

在 Drupal 8 中实现 Apache Solr

让我们把这个过程分为以下几个部分:

  1. 安装 Apache Solr
  2. 安装 Drupal Solr 模块
  3. 使用 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 管理面板。

安装-apache-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 管理面板中看到创建的核心。

solr服务器

第 2 步:创建 Solr 服务器

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

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

阿帕奇solr

当您单击添加服务器时,您将获得一张表格,您需要填写该表格

  1. 服务器名称:输入服务器名称
  2. 启用:您需要选中启用复选框。 如果不启用它,则无法索引项目
  3. 添加服务器描述:服务器的简要描述。
Apache-solr

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

solr 收集器

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 -> 添加索引

apache-solr

索引名称:输入索引名称。

数据源:在这里您需要选择数据源来索引搜索功能的项目。 在我的示例中,我选择了内容。 当您选择内容时,您将获得在CONFIGURE THE CONTENT DATASOURCE 中选择捆绑包的选项。 在这里,您需要选择要索引的包。
服务器:选择服务器以索引项目。 我选择了 Apache-solr-server。
已启用:这将启用索引。 不要忘记启用选定的服务器以使其正常工作。

完成后,点击保存并添加字段。

solr-apache

成功创建索引后,您现在需要向索引添加字段。

要添加您需要的字段,请返回搜索 API,单击编辑您创建的索引。

然后您将看到字段选项卡。 单击字段选项卡,您将看到如下图所示的窗口。

solr-apache

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

索引solr

现在,在网站上创建了索引和服务器。 在此之后,下一个重要步骤是将配置文件复制到 Solr 核心。 为此,您需要从网站的服务器下载配置文件。

转到配置 -> 搜索和元数据 -> 搜索 API -> <服务器名称>

您将看到如下图所示的窗口 –

阿帕奇

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

获取配置文件

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

转到配置 -> 搜索和元数据 -> 搜索 API -> 单击您创建的索引。 您将看到如下图所示的窗口。

搜索和元数据

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