ZincSearch 全文索引的搜索引擎
与 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,因此人们无需做太多工作就可以更轻松地使用全文搜索索引。
特点
- 提供全文索引功能
- 用于安装和运行的单个二进制文件,提供了多个平台的发行版
- Schema less:无需预先定义模式,同一索引中的不同文档可以有不同的字段
- 用于查询用 VUE 编写的数据的 Web UI
- 与 Elasticsearch API 兼容以获取数据(单记录和批量 API)
- 开箱即用的身份验证
- 磁盘中的索引存储(默认)、s3 或 minio(实验性)
- 聚合支持
安装与使用
当您第一次启动 ZincSearch 时,您需要 ZINC_FIRST_ADMIN_USER 和 ZINC_FIRST_ADMIN_PASSWORD 环境变量。在后续的 ZincSearch 运行中不需要它们。
Zinc Search 使用场景
日志搜索
为你的应用程序搜索日志是一件很繁琐和具有挑战性的事情。ZincSearch非常优雅地解决了这个问题。你可以使用标准的日志转发器,如 fluent、fluent-bit、vector、syslog-ng 或其他转发器来转发日志到 ZincSearch。然后,ZincSearch 可以将索引的日志存储在 S3 或磁盘上,并为您的日志提供快速搜索。
日志转发者可以在日志中出现新的日志时逐步读取日志文件,然后分批转发以提高发送效率。
应用搜索
几乎每个应用程序都需要搜索功能。例如,如果你使用关系型数据库来满足你的应用需求,使用 SQL LIKE进行文本搜索有可能会杀死数据库。ZincSearch是在这些低功率的设备上提供搜索的完美解决方案。
边缘搜索
您在边缘拥有低功率设备,需要搜索功能。 ZincSearch 是在这些低功率设备上提供搜索的完美解决方案。例如您的物联网/IDS/IPS/防火墙设备需要搜索功能,以便用户可以搜索所需的数据或日志。
总结
ZincSearch 是一个搜索引擎,可用于文本数据、日志、指标、事件等。它允许您进行全文搜索,包括将服务器日志发送到 ZincSearch、推送您的应用程序数据、提供全文搜索或在您的应用程序中构建搜索栏。