首页 > 其他分享 >Go每日一库之140:Zinc(轻量级搜索引擎)

Go每日一库之140:Zinc(轻量级搜索引擎)

时间:2023-09-29 21:13:17浏览次数:37  
标签:140 搜索引擎 一库 Elasticsearch Zinc Go 轻量级

‍项目介绍

Zinc 是一个轻量级替代 Elasticsearch 的开源搜索引擎。

Elasticsearch 真的好用,但是 Elasticsearch 安装和配置也是真的繁琐,后续的一些维护也有一定成本。另外一个 Elasticsearch 的不足就是服务运行起来需要的计算资源较多,对于普通的用户来说是有点浪费的。

Zinc,拥有完全兼容 Elasticsearch 的 APIs,同时自带 UI 用来替代 Elasticsearch 系列的 Kibana。

Zinc 使用 Go 开发,只需要一个二进制包就能直接启动使用,在安装和使用都比 Elasticsearch 要简单很多,同时资源的消耗也比 Elasticsearch 低得多。以下是官方介绍视频:

功能

现在 Zinc 功能上基本是开箱即用。

未来 Zinc 会在高可用、高性能上做相应的增强。

以下是一些具体的使用 DEMO,自带 UI 不用单独安装类似 Kibana 的应用是一大便利。另外,搜索公众号技术社区后台回复“理财”,获取一份惊喜礼包。

搜索界面:

用户管理界面:

标签:140,搜索引擎,一库,Elasticsearch,Zinc,Go,轻量级
From: https://www.cnblogs.com/arena/p/17737349.html

相关文章

  • Go每日一库之139:cmux (连接多路复用)
    如果一个应用需要同时对外提供HTTP和gRPC服务,通常情况下我们会为两个服务绑定不同的监听端口,而本文要介绍的cmux为我们提供了一种连接多路复用的新选择,使用cmux可以将不同服务绑定在同一个网络端口上!简介多路复用是个很常见的概念,我们在编写HTTP服务时通常会用http.S......
  • Go每日一库之138:dive(Docker 镜像分析)
    什么是dive?用于探索Docker镜像、每一层中的内容以及发现缩小Docker/OCI镜像大小的方法的工具。安装divego get github.com/wagoodman/divedive特性按层分解Docker镜像可视化展示每一层变化分析镜像空间使用百分比快速构建分析镜像支持多种镜像源和容器引擎......
  • Go每日一库之137:easeprobe(探活工具)
    服务探活在现实场景中应用广泛,比如:服务发现、服务负载均衡、服务调度、服务状态监控等。然而,“探活”往往是作为一个功能模块或者组件集成在各个平台系统中。本次要介绍的easeprobe是一款轻量级的,可独立运行的探活工具,利用easeprobe,无需其他系统支持,就可以对多种类型的服务/中间件......
  • Go每日一库之136:gopherjs(将Go代码编译成JS)
    简介GopherJS可以将Go代码编译成纯JavaScript代码。其主要目的是为了让你可以使用Go来编写前端代码,这些代码可执行在浏览器上运行。你可以通过这里尝试下GopherJS:GopherJSPlayground.例如JavaScript代码:document.write("Hello world!");用GopherJS来写就变成这......
  • Go每日一库之135:Ent(Facebook 开源 Golang 实体框架)
    对于后端开发者来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用TiDB的门槛,方便开发者快速连接到TiDB,我们也在和合作伙伴一起,逐步完善面向主流开发语言和框架的连接支持。近日,Facebook开源的Golang实体框架Ent完成了对TiDB数据库的支持。Ent是......
  • Go每日一库之134:fsm(基有限状态机库)
    开发中,我们经常会遇到这种情况,服务模块有多种状态,它们有一定的顺序,先后执行,逐步切换。这时,fsm这个库可以帮助我们更好的管理多个状态。fsm库,它主要基于两个FSM实现,增加了golang版本的实现:JavascriptFiniteStateMachine,https://github.com/jakesgordon/javascript-state-ma......
  • Go每日一库之65:tunny
    简介之前写过一篇文章介绍了ants这个goroutine池实现。当时在网上查看相关资料的时候,发现了另外一个实现tunny。趁着时间相近,正好研究一番。也好比较一下这两个库。那就让我们开始吧。快速开始本文代码使用GoModules。创建目录并初始化:$mkdirtunny&&cdtunny$gomo......
  • Go每日一库之64:ants(源码赏析)
    简介继上一篇Go每日一库之ants,这篇文章我们来一起看看ants的源码。Pool通过上篇文章,我们知道ants池有两种创建方式:p,_:=ants.NewPool(cap):这种方式创建的池子对象需要调用p.Submit(task)提交任务,任务是一个无参数无返回值的函数;p,_:=ants.NewPoolWithFunc(cap,func......
  • Go每日一库之63:ants
    简介处理大量并发是Go语言的一大优势。语言内置了方便的并发语法,可以非常方便的创建很多个轻量级的goroutine并发处理任务。相比于创建多个线程,goroutine更轻量、资源占用更少、切换速度更快、无线程上下文切换开销更少。但是受限于资源总量,系统中能够创建的goroutine数量......
  • Go每日一库之55:quicktemplate
    简介最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框架的工具,最大程度地降低重复劳动。代码本身并不复杂,且与项目代码关联性较大,这里就不展开介绍了。在这个过程中,我发现Go标准的模板......