一款 Elasticsearch 的轻量级替代品
ZincSearch 全文索引的搜索引擎
Zinc 是一个进行全文索引的搜索引擎,它是 Elasticsearch 的轻量级替代品,并且使用一小部分资源运行。它使用 bluge 作为底层索引库。
与 Elasticsearch 相比,它操作起来很简单,Elasticsearch 需要几十个 knobs 来理解和调整,你可以在 2 分钟内启动并运行。
目前:14.8k star
如果您只是使用 API 获取数据并使用 kibana 进行搜索,它是 Elasticsearch 的直接替代品(Zinc 不支持 Kibana,Zinc 提供了自己的 UI)。
为什么选择 zinc
虽然 Elasticsearch 是一款出色的产品,但它很复杂,需要大量资源,并且已有十多年的历史。我构建了 Zinc,因此人们无需做太多工作就可以更轻松地使用全文搜索索引。
特点
提供全文索引功能
用于安装和运行的单个二进制文件,提供了多个平台的发行版
Schema less:无需预先定义模式,同一索引中的不同文档可以有不同的字段
用于查询用 VUE 编写的数据的 Web UI
与 Elasticsearch API 兼容以获取数据(单记录和批量 API)
开箱即用的身份验证
磁盘中的索引存储(默认)、s3 或 minio(实验性)
聚合支持
安装与使用
当您第一次启动 ZincSearch 时,您需要 ZINC_FIRST_ADMIN_USER
和 ZINC_FIRST_ADMIN_PASSWORD
环境变量。在后续的 ZincSearch 运行中不需要它们。
现在在浏览器中输入 http://localhost:4080
并登录。
在 Windows 直接使用这个会报错,如下
因此,换成如下命令:
启动成功如下:
接下来,我们访问 http://localhost:4080
:
输入刚刚设置的 admin
和密码,得到如下界面:
因为我们还没有数据,因此这个界面为空。
加载数据
我们将使用批量 API 加载示例数据:
导入成功后,返回主界面,搜索金牌 Gold, 能看到如下的结果:
添加用户和角色
我们还能添加一个新的用户,选中用户,点击右边的添加,输入相关的信息,就能创建一个新的用户了:
角色添加同理。
Zinc Search 使用场景
日志搜索
为你的应用程序搜索日志是一件很繁琐和具有挑战性的事情。ZincSearch 非常优雅地解决了这个问题。你可以使用标准的日志转发器,如 fluent
、fluent-bit
、vector
、syslog-ng
或其他转发器来转发日志到 ZincSearch。然后,ZincSearch 可以将索引的日志存储在 S3 或磁盘上,并为您的日志提供快速搜索。
日志转发者可以在日志中出现新的日志时逐步读取日志文件,然后分批转发以提高发送效率。
应用搜索
几乎每个应用程序都需要搜索功能。例如,如果你使用关系型数据库来满足你的应用需求,使用 SQL LIKE
进行文本搜索有可能会杀死数据库。ZincSearch 是在这些低功率的设备上提供搜索的完美解决方案。
边缘搜索
您在边缘拥有低功率设备,需要搜索功能。 ZincSearch 是在这些低功率设备上提供搜索的完美解决方案。例如您的物联网/IDS/IPS/防火墙设备需要搜索功能,以便用户可以搜索所需的数据或日志。
总结
ZincSearch 是一个搜索引擎,可用于文本数据、日志、指标、事件等。它允许您进行全文搜索,包括将服务器日志发送到 ZincSearch、推送您的应用程序数据、提供全文搜索或在您的应用程序中构建搜索栏。
希望本文能对你有所帮助,如果喜欢本文,可以点个关注。
下一篇文章见!宇宙古今无有穷期,一生不过须臾,当思奋争。
官网地址:ZincSearch
版权声明: 本文为 InfoQ 作者【宇宙之一粟】的原创文章。
原文链接:【http://xie.infoq.cn/article/2e4adde0d01b4243ac97beaa1】。文章转载请联系作者。
评论