全文索引搜索引擎Zinc
什么是 Zinc ?
ZincSearch是一个搜索引擎,可用于文本数据、日志、指标、事件等。它允许您进行全文搜索,包括将服务器日志发送到ZincSearch、推送您的应用程序数据、提供全文搜索或在您的应用程序中构建搜索栏。具备与Elasticsearch API的兼容性,因此您可以轻松迁移应用程序。
之前老苏折腾 Nettu Meet 时用到过 Elasticsearch 的7.1.0 版,性能消耗还好,折腾 Trudesk 时用到过 Elasticsearch 的 8.0.0 版,基本上直接一启动就把我的小机器搞挂了
虽然 Elasticsearch 是一个非常好的产品,但它需要大量的资源,所以老苏找到了 Zinc,它是 Elasticsearch 的一个轻量级替代方案,运行时只需要使用最少的资源,Zinc使用 Bluge 作为底层索引库,采用 Go 语言编写,而 Elasticsearch 则是 Java 语言编写的
和 MeiliSearch 一样,似乎单独安装也并没有什么实际的用途 😂
命令行安装
官方的镜像发布在 :https://gallery.ecr.aws/zinclabs/zinc

如果你熟悉命令行,可能用 docker cli 更快捷
| 1 | # 新建文件夹 zinc 和 子目录 | 
| 可变 | 值 | 
|---|---|
| ZINC_DATA_PATH | 指定缺省的 data文件夹 | 
| ZINC_FIRST_ADMIN_USER | ZincSearch的第一个管理员用户 | 
| ZINC_FIRST_ADMIN_PASSWORD | 第一个管理员用户的密码 | 
更多的环境变量请查阅官方文档:https://docs.zinc.dev/environment-variables/
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
| 1 | version: '3' | 
然后执行下面的命令
| 1 | # 新建文件夹 zinc 和 子目录 | 
运行
在浏览器中输入 http://群晖IP:4080 就能看到登录界面

用前面设置的 ZINC_FIRST_ADMIN_USER 和 ZINC_FIRST_ADMIN_PASSWORD 登录进入主界面

演示数据
在 SSH 客户端依次执行下面的命令
| 1 | # 下载文件 | 

在 索引 中能找到刚刚导入的 olympics

在搜索中 选择索引,勾选要查询的字段,并输入关键词就可以完成搜索了

参考文档
zinclabs/zinc: ZincSearch (Classic). A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
地址:https://github.com/zinclabs/zincZincSearch - A modern search engine
地址:https://zinc.dev/ZincSearch
地址:https://docs.zinc.dev/Zinc - A lightweight alternative to elasticsearch in Go : selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/r7y585/zinc_a_lightweight_alternative_to_elasticsearch/
