(不僅僅是)如何在 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 獲取結果。
