Skip to content
forked from sea-team/gofound

GoFound GoLang Full text search go语言全文检索引擎 基于平衡二叉树+正排索引、倒排索引实现 可支持亿级数据,毫秒级查询。 使用简单,使用http接口,任何系统都可以使用。

License

Notifications You must be signed in to change notification settings

cyatom01/gofound

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoFound

GoFound 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。 接口可以通过http调用。详见 API文档

文档

技术栈

  • 平衡二叉查找树
  • 二分法查找
  • 快速排序法
  • 倒排索引
  • 正排索引
  • 文件分片
  • golang-jieba分词
  • leveldb

为何要用golang实现一个全文检索引擎?

  • 正如其名,GoFound去探索全文检索的世界,一个小巧精悍的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。

  • 传统的项目大多数会采用ElasticSearch来做全文检索,因为ElasticSearch够成熟,社区活跃、资料完善。缺点就是配置繁琐、基于JVM对内存消耗比较大。

  • 所以我们需要一个更高效的搜索引擎,而又不会消耗太多的内存。 以最低的内存达到全文检索的目的,相比ElasticSearchgofound是原生编译,会减少系统资源的消耗。而且对外无任何依赖。

安装和启动

下载好源码之后,进入到源码目录,执行下列两个命令

  • 编译
go get && go build
  • 启动
./go_search --addr=:8080 --path=./data

客户端

GoFound Python客户端

使用GoFound的用户

Simple社区 贝塔博客 Book360 十二点科技 恒一博科技

About

GoFound GoLang Full text search go语言全文检索引擎 基于平衡二叉树+正排索引、倒排索引实现 可支持亿级数据,毫秒级查询。 使用简单,使用http接口,任何系统都可以使用。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.5%
  • Shell 1.5%