安裝 Solr

在與 Unix 相容或 Windows 伺服器上安裝 Solr 通常只需解壓縮 (或解壓縮) 下載套件。

在啟動 Solr 之前,請務必查看系統需求

可用的 Solr 套件

Solr 可從 Solr 網站取得。下載最新版本 https://solr.dev.org.tw/downloads.html

有三個獨立的套件

  • solr-9.7.0.tgz完整的二進位套件,適用於所有作業系統。此套件包含所有第一方 Solr 模組和配件 (例如 prometheus-exporter)。

  • solr-9.7.0-slim.tgz精簡的二進位套件,適用於所有作業系統。此套件僅包含執行 Solr 所需的項目。不包含模組和配件 (例如 prometheus-exporter)。

  • solr-9.7.0-src.tgzSolr 原始碼套件。如果您想在不使用官方 Git 儲存庫的情況下開發 Solr,這會很有用。

提供兩個 docker 映像,它們利用完整和精簡的二進位檔案。請參閱Docker 中的 Solr頁面,以了解如何使用它們。

準備安裝

開始使用 Solr 時,您只需要將 Solr 發行檔案解壓縮到您選擇的目錄即可。這足以作為初始開發環境,但在設定真正的開發和生產環境之前,請注意不要過度使用這個「玩具」安裝。

當您完成 Solr 的初步評估後,您會想要仔細規劃您的實作。您可能需要在另一台伺服器上重新安裝 Solr,或建立叢集式 SolrCloud 環境。

當您準備好為生產環境設定 Solr 時,請參閱將 Solr 投入生產頁面中提供的指示。

我需要多大的伺服器?

如何調整 Solr 安裝的大小是一個複雜的問題,它取決於許多因素,包括文件的數量和結構、您打算儲存多少個欄位、使用者的數量等。

強烈建議您花一些時間思考會影響 Solr 實作的硬體大小的因素。一篇很好的部落格文章討論了需要考慮的問題,即以抽象方式調整硬體大小:為什麼我們沒有確切的答案

在規劃安裝時需要注意的一件事是,Lucene 對單一索引中的文件數量存在硬性限制:大約 21.4 億份文件(確切地說是 2,147,483,647 份)。實際上,不太可能將如此大量的文件放入單一索引中並良好執行,而且在您接近這個數字之前,您可能需要將索引分散到叢集中。如果您知道在開始索引之前,文件的總數將超過此數量,最好從一開始就將SolrCloud納入您的設計中來規劃您的安裝。

套件安裝

為了簡化起見,現在請將 Solr 發行版壓縮檔解壓縮到您的本機主目錄。

cd ~/
tar zxf solr-9.7.0.tgz

解壓縮後,您現在可以依照下方「啟動 Solr」章節提供的說明來執行 Solr。

Windows 自 Windows 10 起已包含 tar 工具。請開啟命令列視窗並執行上述命令。此外,也有幾款支援 .tar 壓縮檔的第三方解壓縮工具。

目錄配置

安裝 Solr 後,您將看到下列目錄及其中的檔案:

bin/

此目錄包含幾個重要的腳本,可讓您更輕鬆地使用 Solr。

solr 和 solr.cmd

這是 Solr 的控制腳本,也稱為 bin/solr (*nix) / bin/solr.cmd (Windows)。此腳本是用來啟動和停止 Solr 的首選工具。您也可以在 SolrCloud 模式下執行時,建立集合或核心、設定驗證,以及使用組態檔案。

post

Post Tool,為將內容 POST 到 Solr 提供簡單的命令列介面。

solr.in.sh 和 solr.in.cmd

這些分別是 *nix 和 Windows 系統的屬性檔案。Java、Jetty 和 Solr 的系統級屬性在此設定。許多設定在使用 bin/solr / bin/solr.cmd 時可以覆寫,但這樣做可讓您在一個地方設定所有屬性。

install_solr_services.sh

此腳本用於 *nix 系統上,以將 Solr 安裝為服務。在「將 Solr 投入生產環境」章節中有更詳細的說明。

modules/

Solr 的 modules 目錄包含用於增強 Solr 的特殊功能的第三方附加元件。請參閱「Solr 模組」章節以取得更多資訊。這不包含在 slim 發行版中。

prometheus-exporter/

一個獨立應用程式,包含在 bin/ 下,用於監視 Solr 執行個體並產生 Prometheus 指標。請參閱「使用 Prometheus 和 Grafana 進行監控」章節以取得更多資訊。這不包含在 slim 發行版中。

docker/

此目錄包含一個 Dockerfile,可從二進位發行版建立與官方映像檔相容的 Docker 映像檔。此目錄還包含在 Docker 映像檔內使用 Solr 時所需的腳本,位於 scripts/ 目錄下。此目錄中的 README.md 說明如何使用此二進位發行版建立自訂 Solr Docker 映像檔。有關使用 Solr Docker 映像檔的資訊,請參閱「Docker 中的 Solr」頁面。

lib/

Solr 將在此資料夾中尋找額外的外掛程式 jar 檔案。

dist/

dist 目錄包含主要的 Solr .jar 檔案。

docs/

docs 目錄包含 Solr 線上 Javadocs 的連結。

example/

example 目錄包含幾種範例,說明 Solr 的各種功能。請參閱下方「Solr 範例」章節,以取得有關此目錄中內容的更多詳細資訊。

licenses/

licenses 目錄包含此 Solr 發行版所使用第三方程式庫的所有授權。

server/

此目錄是 Solr 應用程式的核心所在。此目錄中的 README 提供詳細概述,以下是一些重點:

  • Solr 的管理 UI 和 JAR 檔案 (server/solr-webapp)

  • Jetty 程式庫 (server/lib)

  • 記錄檔 (server/logs) 和記錄組態 (server/resources)。如需有關如何自訂 Solr 預設記錄的更多詳細資訊,請參閱「設定記錄」章節。

  • 範例組態集 (server/solr/configsets)

Solr 範例

完整的 Solr 發行版包含許多範例文件和組態,可在您入門時使用。如果您已完成「Solr 教學課程」,您已與其中一些檔案互動。

以下是 Solr 包含的範例:

exampledocs

這是一組簡單的 CSV、XML 和 JSON 檔案,在剛開始使用 Solr 時可與 bin/solr post 搭配使用。如需有關將 bin/solr post 與這些檔案搭配使用的更多資訊,請參閱 Post Tool

files

files 目錄為您可能在本地儲存的 Word 或 PDF 等文件提供基本的搜尋 UI。有關如何使用此範例的詳細資訊,請參閱其中的 README。

films

films 目錄包含有關電影的豐富資料集,格式有三種:CSV、XML 和 JSON。有關如何使用此資料集的詳細資訊,請參閱其中的 README。

啟動 Solr

Solr 包含一個稱為 bin/solr (Linux/MacOS) 或 bin\solr.cmd (Windows) 的命令列介面工具。此工具可讓您啟動和停止 Solr、建立核心和集合、設定驗證,以及檢查系統的狀態。

若要使用它來啟動 Solr,您可以簡單地輸入

bin/solr start

如果您執行的是 Windows,可以改為執行 bin\solr.cmd 來啟動 Solr。

bin\solr.cmd start

這會在背景啟動 Solr,並在連接埠 8983 上接聽。

當您在背景啟動 Solr 時,腳本會等待以確保 Solr 正確啟動,然後才會返回命令列提示符號。

Solr CLI 的所有選項都在「Solr 控制腳本參考」章節中說明。

使用特定的配套範例啟動 Solr

Solr 也提供許多實用的範例,以協助您瞭解主要功能。您可以使用 -e 旗標啟動範例。例如,若要啟動「techproducts」範例,您會執行

bin/solr start -e techproducts

目前,您可以執行的可用範例有:techproducts、schemaless 和 cloud。如需每個範例的詳細資訊,請參閱「使用範例組態執行」章節。

SolrCloud 入門
執行 cloud 範例會以 SolrCloud 模式啟動 Solr。如需有關以 SolrCloud 模式啟動 Solr 的更多資訊,請參閱「SolrCloud 入門」章節。

檢查 Solr 是否正在執行

如果您不確定 Solr 是否在本機執行,可以使用 status 命令

bin/solr status

這會在您的電腦上搜尋正在執行的 Solr 執行個體,然後收集有關它們的基本資訊,例如版本和記憶體使用量。

就是這樣!Solr 正在執行。如果您需要證明,請使用網頁瀏覽器來查看管理主控台。

https://127.0.0.1:8983/solr/

Solr’s Admin UI
圖 1. Solr 管理介面。

如果 Solr 沒有執行,您的瀏覽器會抱怨它無法連線到伺服器。請檢查您的連接埠號碼,然後再試一次。

建立核心

如果您沒有使用範例組態啟動 Solr,您需要建立一個核心才能進行索引和搜尋。您可以執行以下命令來完成此操作:

bin/solr create -c <name>

這會建立一個使用資料導向結構描述的核心,該結構描述會在您將文件新增至索引時嘗試猜測正確的欄位類型。

若要查看建立新核心的所有可用選項,請執行

bin/solr create --help