[Go 工具庫] 輕量級彈性搜索引擎 Zinc
一、前言
Zinc 是一個輕量級替代 Elasticsearch 的開源搜索引擎。
Elasticsearch 真的好用,但是 Elasticsearch 安裝和配置也是真的繁瑣,後續的一些維護也有一定成本。另外一個 Elasticsearch 的不足就是服務運行起來需要的計算資源較多,對於普通的用戶來說是有點浪費的。
Zinc,擁有完全兼容 Elasticsearch 的 APIs,同時自帶 UI 用來替代 Elasticsearch 系列的 Kibana。
Zinc 使用 Go 開發,只需要一個二進制包就能直接啓動使用,在安裝和使用都比 Elasticsearch 要簡單很多,同時資源的消耗也比 Elasticsearch 低得多。以下是官方介紹視頻:
1.1 特性
-
提供全文索引功能
-
用於安裝和運行的單個二進制文件。二進制文件適用於多個平臺的發行版。
-
用於查詢用 Vue 編寫的數據的 Web UI
-
與用於攝取數據的 elasticsearch API 兼容(單條記錄和批量 API)
-
開箱即用的身份驗證
-
Schema less – 無需預先定義 schema,同一索引中的不同文檔可以有不同的字段。
-
存儲在磁盤的索引
-
聚合支持
1.2 Roadmap Items
-
高可用
-
分佈式讀寫
-
地理搜索
-
內存索引存儲
-
S3 的索引存儲
二、使用****
2.1 命令行安裝
官方的鏡像發佈在 :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
也可以用 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
2.2 運行
在瀏覽器中輸入 http://IP:4080 就能看到登錄界面
用戶管理界面:
搜索界面:
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/APwOxkMe1tJItlOc1y8BZA