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