写点什么

一款 Elasticsearch 的轻量级替代品

作者:宇宙之一粟
  • 2023-04-27
    中国香港
  • 本文字数:1586 字

    阅读完需:约 5 分钟

ZincSearch 全文索引的搜索引擎


Zinc 是一个进行全文索引的搜索引擎,它是 Elasticsearch 的轻量级替代品,并且使用一小部分资源运行。它使用 bluge 作为底层索引库。



与 Elasticsearch 相比,它操作起来很简单,Elasticsearch 需要几十个 knobs 来理解和调整,你可以在 2 分钟内启动并运行。


开源地址:GitHub - zinclabs/zinc: ZincSearch. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.


目前:14.8k star


如果您只是使用 API 获取数据并使用 kibana 进行搜索,它是 Elasticsearch 的直接替代品(Zinc 不支持 Kibana,Zinc 提供了自己的 UI)。

为什么选择 zinc



虽然 Elasticsearch 是一款出色的产品,但它很复杂,需要大量资源,并且已有十多年的历史。我构建了 Zinc,因此人们无需做太多工作就可以更轻松地使用全文搜索索引。

特点


  1. 提供全文索引功能

  2. 用于安装和运行的单个二进制文件,提供了多个平台的发行版

  3. Schema less:无需预先定义模式,同一索引中的不同文档可以有不同的字段

  4. 用于查询用 VUE 编写的数据的 Web UI

  5. 与 Elasticsearch API 兼容以获取数据(单记录和批量 API)

  6. 开箱即用的身份验证

  7. 磁盘中的索引存储(默认)、s3 或 minio(实验性)

  8. 聚合支持


安装与使用


当您第一次启动 ZincSearch 时,您需要 ZINC_FIRST_ADMIN_USERZINC_FIRST_ADMIN_PASSWORD 环境变量。在后续的 ZincSearch 运行中不需要它们。


set ZINC_FIRST_ADMIN_USER=adminset ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123mkdir datazincsearch.exe
复制代码

现在在浏览器中输入 http://localhost:4080 并登录。


在 Windows 直接使用这个会报错,如下

因此,换成如下命令:

ZINC_FIRST_ADMIN_USER=admin ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123 zincsearch.exe
复制代码

启动成功如下:




接下来,我们访问 http://localhost:4080



输入刚刚设置的 admin 和密码,得到如下界面:


因为我们还没有数据,因此这个界面为空。


加载数据

我们将使用批量 API 加载示例数据:


curl -L https://github.com/zincsearch/zincsearch/releases/download/v0.1.1/olympics.ndjson.gz -o olympics.ndjson.gzgzip -d  olympics.ndjson.gz curl http://localhost:4080/api/_bulk -i -u admin:Complexpass#123  --data-binary "@olympics.ndjson"
复制代码


导入成功后,返回主界面,搜索金牌 Gold, 能看到如下的结果:


添加用户和角色

我们还能添加一个新的用户,选中用户,点击右边的添加,输入相关的信息,就能创建一个新的用户了


角色添加同理。


Zinc Search 使用场景


日志搜索

为你的应用程序搜索日志是一件很繁琐和具有挑战性的事情。ZincSearch 非常优雅地解决了这个问题。你可以使用标准的日志转发器,如 fluentfluent-bitvectorsyslog-ng 或其他转发器来转发日志到 ZincSearch。然后,ZincSearch 可以将索引的日志存储在 S3 或磁盘上,并为您的日志提供快速搜索。

日志转发者可以在日志中出现新的日志时逐步读取日志文件,然后分批转发以提高发送效率。


应用搜索

几乎每个应用程序都需要搜索功能。例如,如果你使用关系型数据库来满足你的应用需求,使用 SQL LIKE进行文本搜索有可能会杀死数据库。ZincSearch 是在这些低功率的设备上提供搜索的完美解决方案。


边缘搜索

您在边缘拥有低功率设备,需要搜索功能。 ZincSearch 是在这些低功率设备上提供搜索的完美解决方案。例如您的物联网/IDS/IPS/防火墙设备需要搜索功能,以便用户可以搜索所需的数据或日志。

总结

ZincSearch 是一个搜索引擎,可用于文本数据、日志、指标、事件等。它允许您进行全文搜索,包括将服务器日志发送到 ZincSearch、推送您的应用程序数据、提供全文搜索或在您的应用程序中构建搜索栏。


希望本文能对你有所帮助,如果喜欢本文,可以点个关注。


下一篇文章见!宇宙古今无有穷期,一生不过须臾,当思奋争。


官网地址:ZincSearch

文档地址:https://zincsearch-docs.zinc.dev/

发布于: 刚刚阅读数: 4
用户头像

宇宙古今无有穷期,一生不过须臾,当思奋争 2020-05-07 加入

🏆InfoQ写作平台-签约作者 🏆 混迹于江湖,江湖却没有我的影子 热爱技术,专注于后端全栈,轻易不换岗 拒绝内卷,工作于外企开发,弹性不加班 热衷分享,执着于阅读写作,佛系不水文 同名公众号:《宇宙之一粟》

评论

发布
暂无评论
一款 Elasticsearch 的轻量级替代品_Go_宇宙之一粟_InfoQ写作社区