Skip to content
返回部署

部署 Typesense

快速容错搜索,地理搜索、分面和多租户。

平台进阶

为什么

Typesense 是开源搜索引擎,容错、地理搜索、分面和多租户集合。C++ 速度,单二进制,易自托管。

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

何时使用

电商搜索、地理搜索和多租户 SaaS 用 Typesense。日志分析避免。

如何做

1. Docker — typesense/typesense:26.0 2. 配置 — TYPESENSE_API_KEY 认证 3. 集合 — 配 schema 创建 4. 索引 — 加文档到集合 5. 搜索 — GET /collections/:name/documents/search 6. 地理 — geopoint 字段 + 地理过滤 7. 多租户 — 每租户独立集合

示例

# docker-compose.yml services: typesense: image: typesense/typesense:26.0 environment: TYPESENSE_API_KEY: xyz TYPESENSE_DATA_DIR: /data ports: ["8108:8108"] volumes: [tsdata:/data] volumes: { tsdata: } # 创建集合和搜索 curl -X POST localhost:8108/collections -H 'X-TYPESENSE-API-KEY: xyz' -d '{ "name": "places", "fields": [ { "name": "name", "type": "string" }, { "name": "location", "type": "geopoint" } ] }' curl 'localhost:8108/collections/places/documents/search?q=cafe&query_by=name' -H 'X-TYPESENSE-API-KEY: xyz'

常见问题

  • ⚠无 API key — Typesense 无 TYPESENSE_API_KEY 拒绝启动
  • ⚠集合 schema 不可变 — 创建后无法改字段类型,重建
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓多租户用独立集合 — 更好隔离和性能
  • ✓基于位置用地理搜索 — Typesense 地理支持优秀
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答