暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

全文索引搜索引擎Zinc

各种折腾 2023-05-19
1701

什么是 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
更快捷

# 新建文件夹 zinc 和 子目录
mkdir -p /volume2/docker/zinc/data

# 进入 zinc 目录
cd /volume2/docker/zinc

# 修改目录权限
chmod a+rwx ./data

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name zinc \
   -p 4080:4080 \
   -v $(pwd)/data:/data \
   -e ZINC_DATA_PATH="/data" \
   -e ZINC_FIRST_ADMIN_USER=admin \
   -e ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123 \
   public.ecr.aws/zinclabs/zinc:0.3.6

可变
ZINC_DATA_PATH
指定缺省的 data
文件夹
ZINC_FIRST_ADMIN_USER
ZincSearch
的第一个管理员用户
ZINC_FIRST_ADMIN_PASSWORD
第一个管理员用户的密码

更多的环境变量请查阅官方文档:https://docs.zinc.dev/environment-variables/

也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件

version: '3'

services:
  zinc:
    image: public.ecr.aws/zinclabs/zinc:0.3.6
    container_name: zinc
    restart: unless-stopped
    ports:
      - 4080:4080
    volumes:
      - ./data:/data
    environment:  
      - ZINC_DATA_PATH="/data"  
      - ZINC_FIRST_ADMIN_USER=admin
      - ZINC_FIRST_ADMIN_PASSWORD=Complexpass#123

然后执行下面的命令

# 新建文件夹 zinc 和 子目录
mkdir -p /volume2/docker/zinc/data

# 进入 zinc 目录
cd /volume2/docker/zinc

# 修改目录权限
chmod a+rwx ./data

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:4080
就能看到登录界面

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

演示数据

SSH
客户端依次执行下面的命令

# 下载文件
curl -L https://github.com/zinclabs/zinc/releases/download/v0.1.1/olympics.ndjson.gz -o olympics.ndjson.gz

# 解压文件
gzip -d  olympics.ndjson.gz 

# 加载示例数据
curl http://192.168.0.197:4080/api/_bulk -i -u admin:Complexpass#123  --data-binary "@olympics.ndjson"

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

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

参考文档

zinclabs/zinc: ZincSearch (Classic). A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
地址:https://github.com/zinclabs/zinc

ZincSearch - 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/

@所有人:写文不易,如果你都看到了这里,请点个
在看
,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论