GoFound
一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。
接口可以通过http调用。详见 API文档
Simple社区使用的GoFound,可以直接模糊搜索相关帖子
支持Windows、Linux、macOS、(amd64和arm64)和苹果M1 处理器
- 平衡二叉查找树
- 二分法查找
- 快速排序法
- 倒排索引
- 正排索引
- 文件分片
- golang-jieba分词
- leveldb
-
正如其名,
GoFound
去探索全文检索的世界,一个小巧精悍的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。 -
传统的项目大多数会采用
ElasticSearch
来做全文检索,因为ElasticSearch
够成熟,社区活跃、资料完善。缺点就是配置繁琐、基于JVM对内存消耗比较大。 -
所以我们需要一个更高效的搜索引擎,而又不会消耗太多的内存。 以最低的内存达到全文检索的目的,相比
ElasticSearch
,gofound
是原生编译,会减少系统资源的消耗。而且对外无任何依赖。
下载好源码之后,进入到源码目录,执行下列两个命令
- 编译
直接下载 可执行文件 可以不用编译,省去这一步。
go get && go build
- 启动
./gofound --addr=:8080 --data=./data
- 其他命令 参考 配置文档
其他语言的SDK,正在陆续完善中。也可以直接通过API文档用HTTP请求实现。