查看原文
其他

一个很酷的全文检索引擎,支持亿级数据,毫秒级查询!

The following article is from 程序员小乐 Author 小乐

推荐关注
顶级架构师后台回复 1024 有特别礼包


来源:程序员小乐 整理

上一篇:架构师图谱之微服务&消息队列


大家好,我是顶级架构师。


今天,推荐一个全文检索引擎系统项目。乐哥第一次使用就有点上头,爱不释手,必须要推荐给大家。

上次是谁要的全文检索引擎系统项目啊,乐哥帮你找到了。

这是我目前见过最好的全文检索引擎系统项目。功能完整,代码结构清晰。值得推荐。

📚 项目介绍

最近乐哥在逛网站的时候发现一个不错的开源项目,乐哥觉得不错,值得拿出来和大家分享下。

本项目是一个golang实现的全文检索引擎 基于平衡二叉树+正排索引、倒排索引实现 可支持亿级数据,毫秒级查询。使用简单,使用http接口,任何系统都可以使用。扩展:接私活儿

技术栈

  • 二分法查找

  • 快速排序法

  • 倒排索引

  • 正排索引

  • 文件分片

  • golang-jieba分词

  • leveldb

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

  • 正如其名,GoFound去探索全文检索的世界,一个小巧精悍的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。另外,搜索公众号Linux就该这样学后台回复“猴子”,获取一份惊喜礼包。

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

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

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

安装和启动

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

  • 编译

直接下载 可执行文件 可以不用编译,省去这一步。

go get && go build
  • 启动

./gofound --addr=:8080 --data=./data
  • docker部署

docker build -t gofound .docker run -d --name gofound -p 5678:5678 -v /mnt/data/gofound:/usr/local/go_found/data gofound:latest
  • 其他命令 参考 配置文档

功能演示



最后,想学习这个项目的可以查看项目地址:

项目源码,怎么领取?

源码获取

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

扫码下方二维码,后台回复【检索】即可获取所有系统



欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

在 程序员小乐 还有更多优质项目系统学习资源,欢迎分享给其他同学吧


欢迎大家进行观点的探讨和碰撞,各抒己见。如果你有疑问,也可以找我沟通和交流。


最后给读者整理了一份BAT大厂面试真题,需要的可扫码回复“面试题”即可获取。


公众号后台回复 架构 或者 架构整洁 有惊喜礼包!顶级架构师交流群

 「顶级架构师」建立了读者架构师交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。

扫描添加好友邀你进架构师群,加我时注明姓名+公司+职位】


版权申明:内容来源网络,版权归原作者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

猜你还想看

推荐一套开源通用后台管理系统(附源码)

看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)

面试官:生成订单30分钟未支付,则自动取消,该怎么实现?

阿里技术专家:一文教你高效画出技术架构图

16个 Redis 常见使用场景,面试有内容聊啦

面试官问:MySQL的自增 ID 用完了,怎么办?

知名国产论坛,凉了!!!!

架构设计的真谛:系统与子系统、模块与组件、框架与架构

阿里云Redis的规范:键值设计、命令使用、客户端使用、相关工具

图文详解CDC技术

Docker 入门终极指南,详细版!别再说不会用 Docker 了!

前端灰度发布落地方案

如何构建高效排障的能力

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存