SuiteSearch
插件/ 2026-08-26/0/ 编辑
SuiteSearch
Meilisearch 搜索、参数化 MySQL LIKE 降级和重建队列
SuiteSearch 需要 Mysqli 适配器才能在不可用时降级到 LIKE 搜索,并在不支持的适配器上显式拒绝。搜索变更队列表会被自动探测;不创建 create-suite-search.sql 时,搜索仍可使用 MySQL LIKE,Meilisearch 实时写入也保持可选。
下载
启用
决定是否需要完整重建队列。大多数博客只使用 Meilisearch + 实时写入即可,跳过队列表即可。
如需启用变更队列和定时完整重建,先在 Typecho 数据库里创建队列表(若表前缀不是 typecho_,请替换后再执行):
mysql typecho < deploy/create-suite-search.sql
- 进入 控制台 → 插件 → SuiteSearch → 启用。
打开插件设置,按需填写:
启用 Meilisearch 搜索:关闭则强制只使用 MySQL LIKE。Meilisearch 地址:http://127.0.0.1:7700 或你自己的远程地址;留空表示不使用 Meilisearch。搜索 API Key(只读):查询时必须。写入 API Key:发布/保存/删除后实时写入时使用;不填会跳过直写。重建 API Key:suite-search-rebuild.php 调用时使用。任务查询 API Key:可选;留空时回退到重建 Key。在线索引名称:默认 posts_live。构建索引名称:默认 posts_build;仅在完整重建时使用,外部不要直接查询。重建切换超时(秒):最少 5 秒。实时同步:发布/保存/删除时把变更推到队列或直写索引。降级策略:Meilisearch 不可用时回退到 MySQL LIKE。
密码框刻意保持空白;留空表示保留已存值;输入新值才会覆盖;勾选 清除已保存的 API Key 会清空所有已保存密钥。
- 保存。
验证:在前台搜索框输入文章中出现过的关键词。若 Meilisearch 可达,结果来自 Meilisearch;否则来自 MySQL LIKE。在搜索过程中观察 PHP 错误日志确认没有警告:
sudo tail -n 50 /var/log/php-fpm/www-error.log
如需启用 systemd 夜间完整重建(仅在已经创建队列表的前提下):
sudo cp deploy/typecho-suite-search-rebuild.service /etc/systemd/system/
sudo cp deploy/typecho-suite-search-rebuild.timer /etc/systemd/system/
sudo cp deploy/suite-search-rebuild.php /usr/local/bin/typecho-suite-search-rebuild
sudo chmod 0750 /usr/local/bin/typecho-suite-search-rebuild
sudo systemctl daemon-reload
sudo systemctl enable --now typecho-suite-search-rebuild.timer
systemctl list-timers | grep typecho-suite
重建脚本优先使用后台设置;旧版 deploy/examples/search-rebuild.env.example 仅作兼容回退。
开源地址
前往Github