Skip to content
返回部署

部署 Lyra 搜索

边缘嵌入式全文搜索引擎,Lyra 索引随应用或作为服务部署。

平台进阶

为什么

Lyra 是 2KB 全文搜索引擎,在浏览器、边缘 Workers 或 Node 运行,无需外部服务。开箱即用支持 BM25 排序、容错和多语言词干。

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

何时使用

静态站、边缘应用和离线优先 PWA 的搜索用 Lyra。数据集 >10 万文档时避免 — 用 Meilisearch/Typesense。

如何做

1. 安装 — npm i @lyrasearch/lyra 2. 创建索引 — const db = lyra({ schema: { title: "string" } }) 3. 插入 — lyra.insert(db, { title: "Hello" }) 4. 搜索 — lyra.search(db, { term: "hello" }) 5. 持久化 — lyra.save(db) 为 JSON,lyra.load 加载 6. 部署 — 索引随应用包发布,无需服务器

示例

import { create, insert, search } from "@lyrasearch/lyra"; const db = create({ schema: { title: "string", author: "string" } }); insert(db, { title: "The Great Gatsby", author: "Fitzgerald" }); const result = search(db, { term: "gatsby" }); console.log(result.hits); // [{ title: "The Great Gatsby", ... }] // 边缘部署 — Worker 中索引 export default { async fetch() { return Response.json(search(db, { term: "query" })); }};

常见问题

  • ⚠索引过大不适合边缘 — 10 万+ 文档超 Worker 内存,预过滤或分片
  • ⚠大索引搜索慢 — 无配置调优,减少 schema 字段
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓构建时预建索引发布为 JSON — 运行时 lyra.load 加载
  • ✓用 Lyra 的词干和停用词适配你的语言 — 提升相关性
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答