全文索引搜索引擎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/