这一次ElasticSearch可能感受到了来自东方的压力 GoFound
GoCN
共 2162字,需浏览 5分钟
· 2022-06-09
单机亿级数据毫秒级查找的搜索引擎GoFound
什么是 GoFound?
GoFound 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找,接口可以通过http调用。
为什么要用GoFound?
一个小巧精悍的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。
ElasticSearch缺点就是配置繁琐、基于JVM对内存消耗比较大。
gofound是原生编译,会减少系统资源的消耗。而且对外无任何依赖。
特性与优势
二分法查找
快速排序法
倒排索引
正排索引
文件分片
golang-jieba分词
leveldb
编译与启动
git clone https://github.com/newpanjing/gofound.git
go get && go build
#作者是用的1.18版本,已经用到了1.17的新特性embed 和 fs,所以GO至少版本要大于1.17
./gofound --addr=:8080 --data=./data
1.启动服务端后就可以访问到后台
http://127.0.0.1:8080/admin
#笔者发现,明显后台没有做完,但是接口基本可用,尽量别用后台就行。
2.使用接口进行新增和查询操作
#新增数据接口
curl -H "Content-Type:application/json" -X POST --data '{"id":1,"text":"深圳北站","document":{"title":"阿森松岛所445","number":223}}' 127.0.0.1:8080/api/index?database=testdb1
#响应结果
{
"state": true,
"message": "success"
}
#我定义了一个库名:testdb1
#查询一下
POST :127.0.0.1:8080/api/query?database=testdb1
{
"query": "北站",
"page": 1,
"limit": 10,
"order": "desc",
"highlight": {}
}
#响应结果
{
"state": true,
"message": "success",
"data": {
"total": 3,
"pageCount": 1,
"page": 1,
"limit": 10,
"documents": [
{
"id": 1,
"text": "深圳北站",
"document": {
"number": 223,
"title": "阿森松岛所445"
},
"originalText": "深圳北站",
"score": 1,
"keys": [
"深圳",
"北站"
]
},
{
"text": "深圳北站",
"document": {
"number": 223,
"title": "阿森松岛所445"
},
"originalText": "深圳北站",
"score": 1,
"keys": [
"深圳",
"北站"
]
}
],
"words": [
"北站"
]
}
}
其他操作,包括完整的CRUD还有分词接口都在下面的文档中可以找到,这里就不多作赘述,简单的带大家用用即可。还有分词操作、CRUD所有操作,都可以看文档来对着写即可,记得尽量不要用他的可视化后台,会出现各种未知问题。
(文档链接点击文末阅读原文即可跳转哦~)
参考链接:
https://github.com/newpanjing/gofound
(go语言全文检索引擎,基于平衡二叉树+正排索引、倒排索引实现,可支持亿级数据、毫秒级查询,操作简单,使用http接口,任何系统都可以使用。)
END
-猜你想看-
B站 API 网关的发展
聊聊Twitter的架构决策
想要了解Go更多内容,欢迎扫描下方👇 关注 公众号,回复关键词 [实战群] ,就有机会进群和我们进行交流~
分享、在看与点赞,至少我要拥有一个叭~
评论
了解加密货币到加密货币的互换
1、什么是加密货币互换?加密货币到加密货币的互换是指以现行市场汇率将一种加密货币直接兑换为另一种加密货币。与需要法定货币存款和较长流程的传统交易所不同,加密货币到加密货币的互换可以无缝地促进交换。掉期在提高加密货币的流动性和效率方面发挥着重要作用。该功能使用户能够将他们的加密货币与钱包中的其他代币进
区块链头条
0
李彦宏:开源大模型不如闭源,后者会持续领先;周鸿祎:“开源不如闭源” 的言论是胡说八道
架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号该公众号已被封禁0、李彦宏:开源大模型不如闭源,后者会持续领先当今
源码共读
0
【第129期】程序员的新宠:三款终端工具,让你告别Xshell!
概述 WindTerm:跨平台的SSH利器 首先介绍的是WindTerm,这是一款使用C语言开发的跨平台SSH客户端。它不仅完全免费,而且没有商业使用的限制。WindTerm支持SSH v2、Telnet、Raw Tcp等协议,而且性能出色,甚至超过了FinalShell和Electerm。功能
前端微服务
0
字节员工:35岁以后被裁员的,后来都走了哪条路?现在2-2,要不要利用最后一年拼命上个岸。
架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号该公众号已被封禁在当今竞争激烈的职场环境中,年龄并不总是一个决定性
源码共读
0
上班的时候,有一群摸鱼搭子非常重要...
上班的时候,有一群摸鱼搭子非常重要!一到上班时间,他们就从四面八方涌进群里冒泡...从八卦聊到股市、从职场聊到乌X兰局势,偶尔还会复读、相亲、battle...然后,下午6点钟准时消失不见...所以你要不要加入我们一起摸鱼?我们有北京、上海、深圳、广州、杭州、武汉、成都、南京等8个城市的摸鱼群,还有
产品经理日记
0
周四002 瑞超:同样落寞的境遇——北雪平vs埃尔夫斯堡
上赛季最终排名联赛第9的北雪平本赛季伊始表现不佳,4轮战罢他们仅以1胜1平2负的战绩排在倒数第三,这支历史上曾夺得13次联赛冠军、6次杯赛冠军老牌劲旅,正如英格兰赛场上的一众百年俱乐部,在低谷中不断探索着出路。球队主教练安德烈亚斯·阿尔姆曾是AIK索尔纳及赫根队的主教练,他于今年年初刚刚拿起球队教鞭
产品与体验
0
雷军辟谣了!不是高考状元,卡里也没有冰冷的 40 亿
架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号该公众号已被封禁最近很火的雷军简历,听说落魄时卡里只有冰冷的 40
源码共读
0
日本影山优佳最新杂志照,展现充满透明感的美丽
今天的图文分享的是影山优佳的杂志写真。元日向坂46的影山优佳,登上了写真杂志《周刊FLASH》5/7和5/14合并号的封面。影山优佳是日本艺人、女演员、前偶像。身高155厘米。2001年5月8日出生于东京都。2023年7月从组合日向坂46毕业,之后作为演员活跃的影山优佳,在《周刊FLAS
python教程
0