OpenSource-Hub
T

typesense

25.8k stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

快速容错的开源搜索引擎,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 的块,使流式响应得以正确处理。

来源 Issue #2858

标签

search-enginetypo-tolerantfuzzy-searchalgolia-alternativeelasticsearch-alternative

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

使用Docker快速启动:docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE

4

安装Python客户端:pip install typesense

5

编写脚本创建集合、索引文档并搜索(参考官方文档)

安装指引
  1. 使用Docker快速启动:docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
  2. 安装Python客户端:pip install typesense
  3. 编写脚本创建集合、索引文档并搜索(参考官方文档)
文件完整性

暂未获取到校验码

该项目暂未在 GitHub Release 页面提供 SHA-256 校验码

SHA256 校验码

暂无校验码

建议从 GitHub Releases 页面直接下载,并自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

若通过Docker运行,执行docker stop和docker rm移除容器,并删除本地数据目录。若通过二进制安装,直接删除typesense可执行文件和配置即可。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议GPL-3.0
最后更新2026-06-26 02:15:15
GitHub 仓库官方网站

遇到问题?查看下方 FAQ

1 FAQ

相似推荐