typesense
快速容错的开源搜索引擎,Algolia/ElasticSearch替代品
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
又快又准的开源搜索引擎,自带纠错功能
核心功能
- 智能纠错:自动处理拼写错误,无需配置
- 毫秒级响应:C++底层,搜索延迟低于50ms
- 灵活排序:支持按字段动态排序(如价格升序)
- 分类筛选:支持分面(faceting)和过滤,快速细化结果
- 联合搜索:一次请求搜索多个集合(索引)
避坑指南
- •Typesense将索引数据存储在内存中,大型数据集(如千万级)需要较高内存(例如28M图书约需14GB RAM)。不适合低内存环境或对内存占用敏感的场景。免费版有开源协议限制(GPL-3.0),商业使用需注意合规。
适用场景
- 电商网站:实现商品搜索、筛选、排序和推荐
- 文档网站:提供全文搜索和即时建议,提升用户查找效率
- 地理应用:按位置搜索餐馆、房源等,支持距离排序
详细介绍
Typesense是一个用C++构建的内存模糊搜索引擎,以极低延迟(<50ms)处理搜索请求。它提供拼写容错、排序、筛选、地理搜索、向量搜索和语义搜索等功能,可轻松替代Algolia或ElasticSearch。支持分布式集群、无运行时依赖,易于部署和扩展。
常见问题与排障 (1)
故障排除如何修复在Typesense中与Cloudflare Workers AI流式传输时出现的'type must be string, but is null'错误?
此错误在使用 Cloudflare Workers AI 进行对话搜索时发生在 Typesense v30.1 中。Cloudflare 的最终 SSE 块包含 "response": null,导致 JSON 类型错误。请升级至已修复此问题的 Typesense 版本(可能为 v30.2+)。作为临时解决方案,在 conversation_model.cpp 第 978 行访问 response 字段前添加空值检查:if (chunk["response"].is_null()) continue;。这将跳过仅包含 usage 的块,使流式响应得以正确处理。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
使用Docker快速启动:docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
安装Python客户端:pip install typesense
编写脚本创建集合、索引文档并搜索(参考官方文档)
- 使用Docker快速启动:docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
- 安装Python客户端:pip install typesense
- 编写脚本创建集合、索引文档并搜索(参考官方文档)
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
若通过Docker运行,执行docker stop和docker rm移除容器,并删除本地数据目录。若通过二进制安装,直接删除typesense可执行文件和配置即可。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
1 FAQ