之前使用 Hugo Connector 接入和 hexo 和任意 Markdown。现在,官方已经开放了对任意数据源的原生支持,关键在于引入了一个用于接收文档数据的 API 接口:
之前使用 Hugo Connector 接入和 hexo 和任意 Markdown。现在,官方已经开放了对任意数据源的原生支持,关键在于引入了一个用于接收文档数据的 API 接口:
Easysearch 中 PUT 和 POST 更新索引的区别及常见错误解析
在 Easysearch 中,PUT
和 POST
都用于创建或更新文档,但它们的使用方式和行为有所不同。理解这些区别并正确使用,可以避免常见的错误,并确保数据操作符合预期。
PUT
用于创建或完全替换文档PUT
方法要求必须提供文档 ID,用于创建或完全替换已有文档。如果指定的文档 ID 不存在,则 PUT
会创建一个新文档;如果该 ID 已存在,则会完全覆盖原有数据,不会保留任何旧字段。
1 | PUT my_index/_doc/1 |
执行效果
1
存在,原有文档会被完全覆盖,只保留 myindex
字段。1
不存在,则创建一个新文档。1 | PUT my_index/_doc |
Easysearch 使用 AWS S3 进行快照备份与还原:完整指南及常见错误排查
Easysearch 可以使用 AWS S3 作为远程存储库,进行索引的快照(Snapshot)备份和恢复。同时,Easysearch 内置了 S3 插件,无需额外安装。以下是完整的配置和操作步骤。
easysearch-backups
)。1 | { |
Docker-Compose部署 EasySearch 异常问题排查
近期将原本运行在 macOS 上的 EasySearch、Console 和 Coco-server 等服务迁移至群晖 NAS 平台。在迁移过程中遇到了 EasySearch 容器无法正常启动或运行中意外终止的问题。本文记录了这些问题的具体表现及解决方案,旨在为后续类似部署提供参考。
以下是官方推荐的 docker-compose 配置文件:
地址如下:
Easysearch 服务昨天还好好的,为什么今天突然访问不了了?
在使用 Easyearch 搭建本地或云端搜索服务时,难免会遇到服务偶发性或持续性无法访问的问题。本文将从服务状态、端口监听、网络配置、安全组等五个维度,系统梳理排查思路,帮助大家快速定位并解决访问失败的原因。
如果你是通过官方的 Docker Compose 部署 EasySearch,一般不会出现太大问题。但如果你像我一样在群晖或 NAS 上做过自定义配置,以下通用排查方法可以帮助你快速定位问题:
Easysearch 基础运维扫盲指南:从 HTTP 到 HTTPS、认证与安全访问全解析
众所周知,原生 Elasticsearch 默认开启的是 HTTP 明文接口,并且不开启任何身份认证或传输加密。若想启用 TLS/SSL 加密及账号密码验证,通常需要配置繁琐的安全模块。
而 Easysearch 在此基础上做了极大的简化,通过官方提供的 initialize.sh
脚本,一键完成初始化即可自动生成证书、配置 HTTPS,并启用密码认证。
当然,对于本地开发或临时测试场景,我们也可能希望关闭 HTTPS 与认证,直接通过 HTTP 调试服务。本文将从配置文件出发,逐步讲解如何根据不同需求配置 Easysearch 的安全策略、通信协议与外网访问权限。
执行以下初始化命令后:
1 | bin/initialize.sh |
终端及 initialize.log
文件中将输出初始的访问方式和管理员账号密码,例如:
1 | curl -ku admin:160824cab0b02193226e https://localhost:9200 |
默认情况下,Easysearch 启用了 HTTPS 通信及密码认证。
从认证到透传:用 Nginx 为 Easysearch 构建一体化认证网关
在构建本地或云端搜索引擎系统时,EasySearch 凭借其轻量、高性能、易部署等优势,逐渐成为众多开发者和技术爱好者的首选。但在实际部署过程中,如何借助 Nginx 为 EasySearch 提供高效、稳定且安全的访问入口,尤其是在身份认证方面,仍然是一个关键技术环节。
本教程将围绕 Basic Auth 认证机制展开,系统讲解如何通过 Nginx 实现安全防护、认证信息透传等常见配置场景,帮助你在多种实际部署环境中快速搭建可靠的访问控制机制。
无论你是在搭建家庭 NAS 服务,还是在企业环境中集成搜索引擎系统,本教程都能为你提供一套可落地、可复用的 Nginx 安全认证解决方案。。
下面是我的 Nginx 配置文件示例。我们通过 Docker 启动 Nginx 容器,并将本地编写好的配置文件挂载到容器中,从而实现自定义的反向代理和认证逻辑:
1 | docker run -d \ |
default.conf配置如下:
MySQL数据实时接入Easysearch,零代码迁移全流程
随着业务对数据搜索与分析能力的要求不断提高,越来越多的团队开始将关系型数据库中的数据迁移至搜索引擎中。
本篇文章将分享如何通过AWS DMS,实现 MySQL 数据无缝迁移到EasySearch,并打通实时同步链路的全过程。
注意:AWS DMS 原生仅支持托管的 OpenSearch 和 Elasticsearch,不直接支持 EasySearch。本文将介绍如何通过一些配置技巧,优雅地解决这个问题。
首先,我们需要准备好待迁移的 MySQL 数据库。我这里使用的是DBeaver工具,当然你也可以选择更专业的 MySQL Workbench 或 DataGrip。
新建数据库时,选择utf8mb4
编码,库名命名为source
(后续 DMS 迁移任务中会用到)。
接下来创建数据表并定义字段。图形化工具可以避免手写 DDL,对非 DBA 用户非常友好。
Easysearch 索引关闭与重开全攻略:open close 操作、批量处理及防误操作配置
在 Easysearch(兼容 Elasticsearch 的搜索引擎)中,索引是存储和查询的基本单元。默认情况下,索引是处于 open
状态的,可以正常写入和搜索。当你暂时不使用某些索引,但又不想删除它们时,可以通过 close
操作来关闭索引,从而释放部分内存资源。
使用以下命令可以查看当前集群中所有索引的状态:
1 | GET _cat/indices?v |
创建一个索引并插入数据:
1 | POST abc/_doc |
Easysearch 实战指南:修改索引主分片的三种方式(split shrink reindex
在 Easysearch(兼容 Elasticsearch)的架构中,索引的主分片数(index.number_of_shards
)一旦创建就无法直接修改。这给实际使用带来挑战:
本文将带你深入了解三种常见但本质不同的索引重构方式:split
、shrink
、reindex
,教你如何选择合适方案、安全操作,并解释为什么split + shrink 无法取代 reindex。
方法 | 是否重建索引 | 可否原名使用 | 改分片数限制 | 是否保留数据 | 是否改结构(mapping/settings) | 常见用途 |
---|---|---|---|---|---|---|
split |
✅ 新建索引 | ❌ 不支持 | 只能 × 倍数(如 1→2→4) | ✅ 是 | ❌ 否 | 提升写入并发/读性能 |
shrink |
✅ 新建索引 | ❌ 不支持 | 只能 ÷ 因数(如 4→2→1) | ✅ 是 | ❌ 否 | 合并历史数据分片 |
reindex |
✅ 新建索引 | ✅ 支持(先删) | 任意 | ✅ 是 | ✅ 支持 | 自定义结构/分片/升级 |
适用于: 提升并发能力、增加查询/写入并行度。