一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

GoFound GoLang Full text search.

Go语言全文检索引擎,毫秒级查询。 使用http接口调用,集成Admin管理界面,任何系统都可以使用。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

go语言开源知识库项目(Go语言全文检索引擎)(1)

go语言开源知识库项目(Go语言全文检索引擎)(2)

go语言开源知识库项目(Go语言全文检索引擎)(3)

四、功能概述

GoFound 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。

接口可以通过http调用。

和ES比较

ES

GoFound

支持持久化

支持持久化

基于内存索引

基于磁盘 内存缓存

需要安装JDK

原生二进制,无外部依赖

需要安装第三方分词插件

自带中文分词和词库

默认没有可视化管理界面

自带可视化管理界面

内存占用大

基于Golang原生可执行文件,内存非常小

配置复杂

默认可以不加任何参数启动,并且提供少量配置

五、技术选型技术栈为何要用golang实现一个全文检索引擎?安装和启动

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

  • 编译

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

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

多语言SDK

使用gofound的多语言SDK,可以在不同语言中使用gofound。但是请注意,版本号与gofound需要一致。主版本和子版本号,修订版不一致不影响。

  • Java
  • Python
  • Node.js

其他语言的SDK,正在陆续完善中。也可以直接通过API文档用HTTP请求实现。

六、源码地址

访问一飞开源:https://code.exmay.com/

,