后端与接口
在 TypeScript/JavaScript 应用中集成…
适用于给应用或网站添加全文、语义或混合搜索,并需要可过滤元数据、分页和托管搜索服务的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 TypeScript/JavaScr特定
解决思路
- 运行 `npm install @upstash/search` 安装 TypeScript/JavaScript SDK。
- 使用 `import { Search } from "@upstash/search";` 引入 Search。
- 创建客户端:`const client = new Search({ url: process.env.UPSTASH_SEARCH_REST_URL, token: process.env.UPSTASH_SEARCH_REST_TOKEN });`。
- 选择索引:`const index = client.index("my-index");`。
- 写入或更新文档:`await index.upsert({ id: "1", content: { text: "hello world" } });`。
- 执行搜索:`const results = await index.search({ query: "hello" });`。
- 按基本步骤操作:创建索引;插入或更新文档;运行搜索或过滤查询。
- 添加搜索到应用或网站时,创建搜索索引。
- 使用 upsert 写入或更新带可搜索 content 和可过滤 metadata 的文档。
- 运行关键词、语义或混合搜索查询。
- 需要时对搜索结果进行 reranking。
- 使用 SQL-like 或 structured filter 语法过滤结果。
- 使用 range 进行分页。
- 使用 fetch 获取文档,使用 delete 删除文档。
- 使用 reset 清空索引。
- 使用 info 检查索引信息。
- 需要详细命令文档时,查阅 sdk-overview,其中包含 delete、fetch、info、range、reset、search、upsert、getting-started。
- 使用 delete 删除文档。
- 使用 fetch 检索文档。
- 使用 info 获取索引信息。
- 使用 range 执行范围查询。
- 使用 reset 清空索引。
- 使用 search 执行搜索查询。
- 使用 upsert 添加/更新文档。
- 使用 getting-started 完成 SDK 设置步骤。
- 需要快速端到端流程时,查阅 quick-start:创建 Search 数据库、添加文档并查询。
- 创建数据库并存储凭证。
- 添加文档时包含 content 和 metadata。
- 理解 content 与 metadata 的区别:content 可搜索,metadata 可过滤。
- 执行搜索时可选启用 reranking。
- 使用 SQL-like 或 structured filters 过滤语法。
- 注意常见陷阱和最佳实践。
适用边界 · 注意事项
- 不适用于非 TypeScript/JavaScript 项目,或无法安装 @upstash/search 的项目。
- 不适用于没有 Upstash Search REST URL 和 token、不能使用 Upstash 云服务,或要求自托管/完全离线的场景。
- 不适用于不愿使用托管搜索服务、只需要本地简单搜索的场景。