如何为 Drupal 8(和 9)配置分面搜索——一个简单的分步教程

已发表: 2020-11-18

分面搜索通过针对搜索结果显示过滤器,为用户提供卓越的搜索体验。 它对于拥有大型目录和列表的网站特别有用。 一旦用户输入他们的搜索查询,他们就会看到一个相关过滤选项列表,以进一步缩小他们的搜索范围。 这些过滤元素是facet。

以前是 Drupal 7 中的 Facet API,Drupal 8 中的 Facet 模块使您的网站具有分面搜索能力。 Facets 还支持 Drupal 9! 让我们看看使用 Drupal 自己的搜索服务器 Search API 配置和实现 Faceted 搜索。

分面搜索

什么是分面搜索?

如果您的用户发现即使在输入搜索查询后也很难看到他们正在搜索的内容,那么他​​们一定会感到沮丧。 分面搜索为用户提供了同时针对内容的各种属性的多个过滤器。 提供的方面基于用户执行的搜索查询。 Facets 还会在它旁边显示匹配结果的数量(通常在括号内)。 让我们看一下下面的截图,以更好地理解 Facets-

Drupal 8 的 Facets 模块

在我们最近的 Drupal 8 项目之一中,在本网站上快速搜索哥伦比亚的房屋会向您展示社区、热卖、快速入住等方面。 您还将看到每个方面旁边的结果计数。 因此,带有“Columbia”关键字的查询被发送到搜索服务器以检索已配置和索引的类别(社区、热销等)

为 Drupal 8 安装 Facets 模块

如前所述,我们将使用 Drupal 的 Search API 模块实现分面搜索。

步骤 1:启用模块

安装并启用这些模块
• Facet 模块
• 搜索 API 模块

第 2 步:创建内容类型

通过添加内容类型来创建您想要包含在分面搜索中的内容,如下所示。 您还可以使用 Drupal 提供的默认内容类型。

创建内容类型
步骤 2:创建内容类型


步骤 3:配置搜索服务器

从管理界面导航到Configuration -> Search and metadata -> Search-API以配置您的搜索服务器。 为您的搜索服务器命名(这里是数据服务器)。

配置搜索服务器
步骤 3:配置搜索服务器

步骤 4:配置搜索索引

接下来,配置搜索索引以提高搜索性能。 导航到Configuration -> Search and metadata -> Search-API -> Index -> data_index

配置搜索索引

步骤 4:配置搜索索引

为您的索引命名,然后选择内容作为您的数据源,因为我们将在此处为内容实体编制索引。
然后您可以继续下一部分 - 配置数据源(此处 - 内容)。 在这里您可以选择选择所有捆绑包或仅从下面的列表中选择一些进行索引。
接下来,选择您已经创建的服务器(这里是数据服务器)。 选择“立即索引项目”选项开始索引过程。 单击保存。

配置数据源

配置数据源


第 5 步:添加索引字段

接下来,我们需要添加要索引的字段。 导航到配置 -> 搜索和元数据 -> 搜索 API -> 数据索引,然后选择字段选项卡。 单击添加字段按钮以根据您的要求创建字段。

第 5 步:添加索引字段

第 5 步:添加索引字段


第 6 步:索引内容

在同一位置下,单击“查看”选项卡以开始索引您的内容的过程。 在 Start Indexing Now 部分中,单击Index Now按钮。 然后它会向您显示一个进度条,其中包含已编入索引的项目数量的状态。

分面搜索

第 6 步:索引内容

第 7 步:创建视图

现在我们将为需要索引并显示给用户的数据创建一个视图。 导航到Structure -> Views -> Add View

创建视图

第 7 步:创建视图

为视图命名。
在“查看设置”下拉列表下,选择您在步骤 4 中创建的索引。
通过单击“页面设置”选项卡下的“创建页面”复选框,为您的搜索结果创建一个页面。 为其命名和路径。
如果要在一页中显示所有结果,请在要显示的项目下选择 0。 否则,选择要显示的多个结果。
在页面显示设置下,您可以选择显示结果的格式——表格、网格、HTML 列表或无格式列表。 我们在这里选择了无格式列表。 单击保存。

步骤 8:向视图添加字段

在这里,我们将把我们之前索引的字段添加到视图中。
转到“视图”,单击“字段”部分旁边的“添加”按钮。 选择字段,单击添加和配置。
在渲染设置下,选中链接到内容复选框,以便显示的结果可点击。
单击保存。

向视图添加字段

步骤 8:向视图添加字段


步骤 9:配置构面

现在让我们开始配置和启用构面。 导航到配置 -> 搜索和元数据 -> 构面

单击添加构面按钮。

配置方面

步骤 9:配置构面

选择 Facet Source – 这将是您之前创建的视图。
选择字段 - 这将显示您在步骤 5 中为索引添加的字段。
为 Facet 命名。
单击保存。

接下来,您将看到更多用于显示构面的配置选项(如下图所示)。 小部件将列出许多选项,如链接列表、数组、下拉列表等。您可以选择最适合您网站的选项。
选择“将实体 ID 转换为标签”以避免显示内容类型的机器名称。
单击保存。

分面搜索
配置方面

步骤 10:将 Facet 块放置在选定的页面区域中

接下来,将您创建的 Facet 作为块放置在您选择的页面区域中。
导航到Structure -> Block Layout
选择要放置包含 Facet 的块的页面区域。
在这里,我们选择Sidebar 。 单击边栏旁边的放置块按钮。
在下一个对话框中,搜索 Facet 名称并单击 Place Block。

将 Facet 块放置在选定的页面区域中

步骤 10:将 Facet 块放置在选定的页面区域中


在配置块部分,提及您之前创建的搜索页面路径。 这里 -“ site-search ”是我们创建的页面。
为您的块指定一个显示名称,如果您希望显示块名称,请选中“显示标题”复选框(此处 - 类型)。
单击“保存块”

结果

就这样,您的分面搜索页面和功能已准备就绪! 请注意名为Type (显示名称)的 Facet,其中将 Basic 页面和 Article 列为要过滤的内容类型。

结果:分面搜索页面

结果:分面搜索页面