Skip to content
返回部署

部署 Meilisearch

轻量搜索引擎,<50ms 搜索、容错和易用 API。

平台进阶

为什么

Meilisearch 是 Elasticsearch 轻量替代 — <50ms 搜索、容错和零配置。Rust 编写,单二进制,易部署。

平台即服务采用率 2024 年增长 24%,团队从虚拟机管理转向 git push 部署。the cloud infrastructure market reached $330B in 2024, growing 22% year-over-year (Synergy Research),PaaS 层捕获了大多数新工作负载。

何时使用

Elasticsearch 过度的应用搜索用 Meilisearch。日志分析避免(无聚合)。

如何做

1. Docker — getmeili/meilisearch 配 master key 2. 索引 — 建索引,加文档 3. 搜索 — POST /search 配 q + filter 4. 设置 — 可搜索属性、排序规则 5. 同步 — webhook 或 cron 与 DB 同步 6. 认证 — master key 管理,search key 读 7. 快照 — /snapshots 备份

示例

# docker-compose.yml services: meili: image: getmeili/meilisearch:v1 environment: MEILI_MASTER_KEY: master-key ports: ["7700:7700"] volumes: [meilidata:/meili_data] volumes: { meilidata: } # 加文档和搜索 curl -X POST localhost:7700/indexes/movies/documents?primaryKey=id -H 'Authorization: Bearer master-key' -d '[{ "id": 1, "title": "Carol" }]' curl -X POST localhost:7700/indexes/movies/search -H 'Authorization: Bearer search-key' -d '{ "q": "carol" }'

常见问题

  • ⚠生产无 master key — Meilisearch 拒绝启动
  • ⚠索引不同步 — 无自动 DB 同步,设 webhook/cron
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓生产始终设 master key — 安全必需
  • ✓前端用 search-only API key — 仅搜索非管理
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答