在 ServBay 中設定與使用 Meilisearch 搜尋引擎
Meilisearch 是一款功能強大、極速且易於使用的開源搜尋引擎,專為實現卓越的「即時搜尋」體驗而打造。它提供簡潔的 RESTful API 以及豐富的功能。有了 ServBay,您可在 macOS 本機環境中前所未有地輕鬆部署完整的 Meilisearch 實例。
概述
ServBay 將 Meilisearch 無縫整合至圖形管理介面,讓開發者可以一鍵安裝和輕鬆設定,無需親自處理複雜的指令列操作或依賴套件。ServBay 更為 Meilisearch 自動配置內建網頁儀表板,您可直接透過便利的網域名稱 https://meilisearch.servbay.host/
來存取,便於管理索引、測試搜尋及立即查看服務狀態。
前置條件
- 您已在 macOS 成功安裝並運行 ServBay。
- 您有一個需整合搜尋功能的開發專案。
- 具備搜尋引擎基本概念(如索引 Index、文件 Document、API 金鑰)。
操作步驟
1. 安裝 Meilisearch 套件
首先,請在 ServBay 的套件管理器中安裝 Meilisearch:
- 開啟 ServBay 應用程式。
- 於左側導覽欄點擊 套件 (Packages)。
- 在套件清單中尋找
搜尋
-Meilisearch
。 - 點擊
Meilisearch
右側的安裝按鈕,稍候至安裝完成。 - 點擊啟用按鈕,啟用
Meilisearch
服務。
2. 設定 Meilisearch 服務
安裝完成後,您可以為 Meilisearch 進行進一步設定:
在 ServBay 左側導覽欄點擊 Search。
下拉選單中選擇 Meilisearch,進入設定畫面。
根據需求調整以下各項設定:
- Bind IP (綁定 IP): 設定 Meilisearch 服務監聽的 IP 位址。預設值
127.0.0.1
,意即僅允許本機存取,這是本機開發環境最佳的安全做法。 - Port (埠號): Meilisearch API 的底層監聽埠號。預設為
7700
。儘管服務在該埠號上執行,我們強烈建議您透過 ServBay 提供的https://meilisearch.servbay.host
這個網域來互動。 - Master Key (主金鑰): 這是保護您 Meilisearch 實例的最重要憑證。所有 API 請求(包含建立、更新與刪除索引)皆需用此金鑰授權。請設置一組強而唯一的金鑰並妥善保存。
- Data Path (資料路徑): Meilisearch 儲存所有索引與資料庫檔案的本機目錄。預設路徑為
/Applications/ServBay/data/meilisearch
。可點擊右側資料夾圖示,於 Finder 中快速開啟此目錄。 - Runtime Environment (執行環境): 可選擇
Development
(開發) 或Production
(正式)。Development
模式會有更詳細的錯誤報告與 API 提示,很適合開發階段;Production
則關閉這些細節,以提升效能。 - Log Level (日誌等級): 控制日誌的細緻程度,可選
INFO
,DEBUG
,WARN
,ERROR
等,有助於進行故障排查。
- Bind IP (綁定 IP): 設定 Meilisearch 服務監聽的 IP 位址。預設值
3. 儲存設定並啟動服務
- 完成設定後,請點選右下角 Save (儲存) 按鈕。
- ServBay 會自動套用新設定並嘗試啟動/重啟 Meilisearch 服務。
- 請觀察 Meilisearch 條目旁的狀態指示燈,綠燈表示服務運作正常。
4. 存取 Meilisearch Web 儀表板
ServBay 為您提供了極為方便的方式來存取 Meilisearch 內建管理面板:
方法一(推薦): 於 Meilisearch 設定介面右上角,點擊瀏覽器圖示(指南針外型),ServBay 會自動以您的預設瀏覽器開啟儀表板。
方法二: 手動在瀏覽器位址列輸入
https://meilisearch.servbay.host/
。
於此儀表板,您可以:
- 建立與管理索引。
- 直覺式測試搜尋查詢並即時查看結果。
- 檢視任務狀態(例如文件加入、設定變更等)。
- 管理 API 金鑰。
5. 在應用程式中整合 Meilisearch
您可選用任一官方或社群開發的 Meilisearch 客戶端函式庫,與本地實例串接互動。
連線時,請採用以下資訊:
- 主機 (Host):
https://meilisearch.servbay.host
(包含https://
) - API 金鑰 (API Key): 即您在第 2 步設定的
Master Key
PHP 程式範例(使用 meilisearch/meilisearch-php
)
首先於 PHP 專案安裝官方函式庫:
bash
composer require meilisearch/meilisearch-php
1
接著於程式碼中連線並執行操作:
php
<?php
require_once 'vendor/autoload.php';
use MeiliSearch\Client;
// 初始化 Meilisearch 客戶端
$client = new Client('https://meilisearch.servbay.host', 'YOUR-STRONG-MASTER-KEY'); // 請替換為您自設之 Master Key
try {
// 1. 建立或取得一個索引
$index = $client->index('movies');
// 2. 添加文件
$documents = [
['id' => 1, 'title' => 'Carol', 'genres' => ['Romance', 'Drama']],
['id' => 2, 'title' => 'Wonder Woman', 'genres' => ['Action', 'Adventure']],
['id' => 3, 'title' => 'Life of Pi', 'genres' => ['Adventure', 'Drama']],
['id' => 4, 'title' => 'Mad Max: Fury Road', 'genres' => ['Action', 'Adventure']],
['id' => 5, 'title' => 'Moana', 'genres' => ['Fantasy', 'Action']],
['id' => 6, 'title' => 'Philadelphia', 'genres' => ['Drama']],
];
$index->addDocuments($documents);
echo "已將文件加入 'movies' 索引。\n";
// 稍作等待,讓 Meilisearch 處理索引任務
sleep(1);
// 3. 執行搜尋
$searchResults = $index->search('max');
print_r($searchResults->getHits());
} catch (\Exception $e) {
echo "Meilisearch 錯誤:{$e->getMessage()}\n";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
常見問題集 (FAQ)
- Q: 若我忘記 Master Key,該怎麼辦?
- A: 請進入 ServBay 的 Meilisearch 設定介面,直接輸入新 Master Key,並點選 Save (儲存)。ServBay 會自動重啟服務並套用新金鑰。
- Q: Meilisearch 服務啟動失敗,如何檢查?
- A: 請先點擊 Meilisearch 設定頁右上角日誌圖示,查看即時記錄,一般都能找到明確錯誤訊息。並請檢查本機埠號
7700
是否有被其他程式佔用。
- A: 請先點擊 Meilisearch 設定頁右上角日誌圖示,查看即時記錄,一般都能找到明確錯誤訊息。並請檢查本機埠號
- Q: 「Runtime Environment」中的
Development
與Production
有何區別?- A:
Development
模式下,API 回應錯誤時會包含詳細堆疊,便於開發除錯,但會曝光部分內部細節。Production
模式則只返回一般錯誤訊息,更安全且效能提升,較適合正式環境或您不需詳細除錯時使用。
- A:
總結
ServBay 與 Meilisearch 的結合,為 macOS 開發者帶來順暢強大的本機搜尋開發體驗。透過圖形化管理與預設網頁儀表板,您能將更多精力專注於核心功能建立,而不必為繁瑣的系統設定煩惱。