ZincSearch 一款 Elasticsearch 的轻量级替代品

举报
宇宙之一粟 发表于 2023/05/24 11:42:03 2023/05/24
【摘要】 ZincSearch 全文索引的搜索引擎Zinc 是一个进行全文索引的搜索引擎,它是 Elasticsearch 的轻量级替代品,并且使用一小部分资源运行。它使用 bluge 作为底层索引库。与 Elasticsearch 相比,它操作起来很简单,Elasticsearch 需要几十个 knobs 来理解和调整,你可以在 2 分钟内启动并运行。开源地址:GitHub - zinclabs/z...

ZincSearch 一款 Elasticsearch 的轻量级替代品

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=admin
set ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123
mkdir data
zincsearch.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.gz
gzip -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/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。