全文索引搜索引擎Zinc

news2024/12/29 11:35:39

在这里插入图片描述

什么是 Zinc ?

ZincSearch 是一个搜索引擎,可用于文本数据、日志、指标、事件等。它允许您进行全文搜索,包括将服务器日志发送到 ZincSearch、推送您的应用程序数据、提供全文搜索或在您的应用程序中构建搜索栏。具备与 Elasticsearch API 的兼容性,因此您可以轻松迁移应用程序。

之前老苏折腾 Nettu Meet 时用到过 Elasticsearch7.1.0 版,性能消耗还好,折腾 Trudesk 时用到过 Elasticsearch8.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_USERZincSearch 的第一个管理员用户
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_USERZINC_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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android WebView加载网页html文件显示加载进度

效果图如下: 一、视图绑定 通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。 在大…

Navicat 15中文安装教程

Navicat 15中文安装教程 附上百度网盘链接: 链接:https://pan.baidu.com/s/1OZNjcuEHnsZqBa9A-e_twQ 提取码:2phg 里面有两个版本,分别是64位和32位,大家可以根据自己的情况进行安装 下面是详细安装教程 1、选择安装包…

Sonar加入jenkins流水线

前提:已搭建sonarqube 1、配置sonarqube server jenkins 中manage jenkins-configure System配置sonarqube server 2、准备sonar环境 在jenkins项目的构建环境步骤中,勾选prepare SonarQube environment token需要提前在凭据里添加一个token 3、执行s…

ES6中flat与flatMap使用

1、方法介绍 数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。 [1, 2, [3, 4]].flat() // [1, 2, 3, 4]上面代码中,原数组的成员里面有一个数…

InnoDB数据页结构

什么是页?什么是数据页? 页是InnoDB管理存储空间的基本单元,一个页的大小一般是16k。 InnoDB有许多不同的页,有存放表空间头部信息的页,INODE信息的页,当然还有存放我们记录信息的页,这个页叫…

【苹果】Apple Store 更换ID教程

在此之前需要准备的项目: 一台苹果手机【教程环境:ios15 in iPhone11】一个新的苹果ID账号一个具备完整阅读能力愿意看完教程的人 教程开始 第一步:解锁您的 iPhone 第二步:打开你的应用商店 第三步:点击右上角头像…

Linux驱动快速入门(vscode的使用)

vscode精确跳转前提: 1、安装了clangd插件 2、禁止了c/c intellisense: 3、在Linux内核源码首目录下有compile_commands.json文件,且这个文件内容“cc”改为了“xxxx-gcc”,后先清理之前编译的,后用bear make编译。…

ChatGPT官方APP上线:速度极快且免费、增加语音识别,网友:真香

安卓版也马上要来。 很强大,很简洁,而且它太快了。 这就是人们对几小时前 OpenAI 发布的 ChatGPT 官方版 App 的评价: ChatGPT 推出近半年以来,已经从新鲜的事物成为改变整个科技领域的推手。有机构统计认为,早在今年…

【手撕代码系列】JS手写实现深拷贝

公众号:Code程序人生,分享前端所见所闻 深拷贝是在计算机科学中非常重要的概念,尤其是在处理数据结构和对象的时候。深拷贝的目的是创建一个新的对象,它有自己的内存空间,并且其中的所有值都是原始对象的副本。这样做的…

某大型啤酒企业:CACTER邮件网关成功替换IronPort!安全防护升级

客户案例 某大型啤酒厂商的公司规模和市场份额多年来始终都处于行业领先地位,积极赞助多项体育赛事,持续丰富和提升品牌形象。 作为一家具有全球影响力的企业,自然也成为了全球黑客等攻击团伙的重点目标,而系统攻击的开端便是钓…

互联网医院牌照的申请流程|互联网医院资质申请难吗

互联网医院系统现在已经发展的很成熟了,国家也出台了很多鼓励的相关政策,所以很多的医疗机构也纷纷的开始开发互联网医院系统,当然要想互联网医院系统能够正常的运行看诊,还需要申办互联网医院牌照,接下来给大家介绍一…

GE Hydran M2 监测各种故障气体的综合值

Hydran M2 是一种紧凑型永久安装在线变压器监测设备,可在出现故障情况时向人员发出警报。它持续监测各种故障气体的综合值(以 ppm 为单位)或仅监测氢气值(取决于购买的传感器)。此外,它还跟踪油中的水分&am…

Redis自学之路—基础数据结构(二)

目录 简介 Redis应用场景 Redis基础数据结构 一、string(字符串) string类型相关指令 二、list(列表) list类型相关指令 三、hash(字典) hash类型相关指令 四、set(集合) se…

Mysql多表和窗口函数

1.多表查询--自关联查询 # 格式: select * from A join A on 条件; 或者 select * from A left join A on 条件; # 自关联查询的用法和 内连接, 外连接等操作一模一样, 只不过是: 表自己关联自己. # 应用场景: 分类表(多级), 行政区域表(3级, 省市区). # 查询结果: 跟上述多…

一起来学shiny把(2)—-shiny页面布局

什么是shiny?Shiny是一个R包,可让您轻松地直接从 R 构建交互式 Web 应用程序(应用程序)。本系列是个长教程,带你由浅入深学习shiny。 上一节我们在文章《R语言系列教程—–一起来学shiny吧(1)》…

什么是语音识别的语音搜索?

前言 随着智能手机、智能音箱等智能设备的普及,语音搜索已经成为了一种趋势。语音搜索不仅方便快捷,而且可以实现双手的解放。语音搜索的实现离不开语音识别技术,本文将详细介绍语音识别的语音搜索。 语音识别的基本原理 语音识别是将语音信…

高光谱图像处理的spectral模块一些用法

目录 1、安装 2、读取高光谱图像 3、显示高光谱图像 4、spectral的特点 5、标签图显示 6、标签、地物融合显示 8、显示三维立方体 9、保存图像 1、安装 pip install spectral -i https://pypi.tuna.tsinghua.edu.cn/simple 2、读取高光谱图像 # -*- coding:utf-8 _*…

react笔记_14在react中使用echarts

目录 echarts官网在项目引入echarts[1]下载[2-1] 全量引入[2-2]按需引入问题 - 仅引入核心模块 图表配置[1] 柱状图(bar)横/纵向柱状图 [2] 漏斗图(funnel)漏斗图的形状 echarts官网 echarts官网 在项目引入echarts [1]下载 npm install echarts [2-1] 全量引入 import *…

FPGA_学习_05_管脚约束

前言:就初学管脚约束相关知识而言,内容还不足以构成饱满的文章。 但管脚约束是一个独立的内容,它是值得有一篇单独的博客的。若后续学习了管脚约束新的知识,则进一步扩充本篇博客内容。 1 XDC基础语法 Vivado的管脚约束文件用XDC…

易基因:m5C高甲基化介导EGFR突变的非小细胞肺癌耐药潜在机理|国人佳作

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 对EGFR酪氨酸激酶抑制剂(EGFR-TKI)的固有耐药(Intrinsic resistance)和获得耐药(acquired resistance)是EGFR突变型非小细胞肺癌(NSCLC)患…