以前我是用用 mroonga 來處理 mysql 中文全文檢索
最近發現一個更快更方便的 meilisearch
而且已經有人寫了 flarum 擴展 scout search
用起來很滿意 (雖然中英文混合查詢容易找不到)
後來我又看到 meilisearch 支援 openai api
馬上寫了封信給 scout search 開發者
期待他能推出 ai 版本的智慧搜尋功能
meilisearch 安裝筆記 👇
我的系統是 almalinux 8.1
先跑 dnf update 更新依賴
接著 wget 下載最新版本的 meilisearch
wget https://github.com/meilisearch/meilisearch/releases/download/v1.1.1/meilisearch-linux-amd64 -O meilisearch
將已經下載的 meilisearch 設定為可執行
chmod +x meilisearch
將 meilisearch 移動到 /usr/local/bin 目錄
mv meilisearch /usr/local/bin/
用 openssl 產生一組 YOUR_MASTER_KEY
舉例 RtmTtpGDr0Iak+SsLejw2OVLmRIZtRx2EGGjSluOx1yHGBYcN+EnqV/hpsudFT2d
openssl rand -base64 48
建立 systemd 服務文件
cat <<EOF > /etc/systemd/system/meilisearch.service
[Unit]
Description=Meilisearch
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/meilisearch --master-key YOUR_MASTER_KEY
Restart=always
[Install]
WantedBy=multi-user.target
EOF
重新加載 systemd 服務配置
systemctl daemon-reload
啟動 meilisearch 服務
systemctl start meilisearch
開機自動啟動
systemctl enable meilisearch
確認 meilisearch 是否正在運行
systemctl status meilisearch
使用 curl 驗證 meilisearch 是否成功啟動
如果返回 {"status":"available"} 則表示安裝成功
curl http://127.0.0.1:7700/health
接著安裝 flarum 擴展
meilisearch/meilisearch-php
clarkwinkelmann/flarum-ext-scout
clarkwinkelmann/flarum-ext-meilisearch-dashboard
scout search 設定
預設結果限制: 100
搜尋建議的最小字元限制: 2
meilisearch host: localhost:7700
meilisearch key: YOUR_MASTER_KEY
首次使用要自己匯入資料
之後系統會自動建立索引
php flarum scout:import-all