如何為 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 列為要過濾的內容類型。

結果:分面搜索頁面

結果:分面搜索頁面