MySQL数据实时接入Easysearch,零代码迁移全流程
随着业务对数据搜索与分析能力的要求不断提高,越来越多的团队开始将关系型数据库中的数据迁移至搜索引擎中。本篇文章将分享如何通过AWS DMS,实现 MySQL 数据无缝迁移到EasySearch,并打通实时同步链路的全过程。 注意:AWS DMS 原生仅支持托管的 OpenSearch 和 Elasticsearch,不直接支持 EasySearch。本文将介绍如何通过一些配置技巧,优雅地解决这个问题。 一、准备 MySQL 源数据库1. 创建数据库与数据表首先,我们需要准备好待迁移的 MySQL 数据库。我这里使用的是DBeaver工具,当然你也可以选择更专业的 MySQL Workbench 或 DataGrip。 新建数据库时,选择utf8mb4编码,库名命名为source(后续 DMS 迁移任务中会用到)。 接下来创建数据表并定义字段。图形化工具可以避免手写 DDL,对非 DBA 用户非常友好。 2. 插入测试数据为了验证迁移效果,我们先写几条假数据。 确认数据已成功写入并提交。 二、配置 AWS DMS 迁移1. 创建源端点(MySQL)在 AWS D...
自带内网穿透,懒猫微服治好了我的NAS焦虑
知道懒猫微服是一两年前,最初的印象是极客机甲风格,有颜值有性能有。近期入手也是出于朋友推荐,主要还是喜欢自带的内网穿透功能,虽然家里有公网 IP,但是不定时会被运营商封端口(不止常用端口),总是一阵一阵的,询问运营商也没有一个明确的结论,倒不如选一个商业的产品然后省去自己折腾的时间吧 虽然我一直很想 DIY 这样一款产品,开源的大多是 KVM-base 的方案,或者还有商业的 EXSI。毕竟个人精力有限,一直搁置到现在,然后随着事情越来越多,就购买了一台来玩玩,也脱胎换骨当甲方提需求。官网如下:https://lazycat.cloud/ 机器是这样的,浓浓的机甲风格连,着运行了几天也一点都不烫。之前还担心炒豆子的问题,其实相对于白天的噪音几乎是没有的。 i5-1135G7,现在来看不算最新的,不过也比很多 NAS 强很多了,手动@群晖 32G 内存(只能一个盘位,所以加满了) 2.5 寸 2T 原装 HDD(预算有限,目前还在测试阶段,自带的盘是叠瓦盘,介意的话可以自己买盘替换) neofetch 能看到是基于 Debian12 的。然后开发团队在上层构建自己...
使用 Nginx 获取并返回客户端的公网 IP 地址
在某些场景下,我们需要快速获取客户端的公网 IP 地址。虽然有许多在线服务(如 IP Address Lookup、IPv4/IPv6 检测工具或https://checkip.amazonaws.com/)可以提供此功能,但通过自建Nginx服务来实现这一需求,不仅灵活可控,还能更好地满足个性化需求。 下面是一个简单的 Nginx 配置示例,用于返回客户端的公网 IP 地址。 配置 Nginx 返回客户端 IP 地址如果你希望 Nginx 直接返回客户端的 IP 地址,可以通过在location块中使用$remote_addr变量来实现。以下是一个完整的配置示例: 12345678server { listen 80; location /get_ip { default_type 'application/json'; return 200 '{"ip_addr": "$remote_addr"}'; ...
从认证到透传:用 Nginx 为 Easysearch 构建一体化认证网关
在构建本地或云端搜索引擎系统时,EasySearch 凭借其轻量、高性能、易部署等优势,逐渐成为众多开发者和技术爱好者的首选。但在实际部署过程中,如何借助 Nginx 为 EasySearch 提供高效、稳定且安全的访问入口,尤其是在身份认证方面,仍然是一个关键技术环节。 本教程将围绕 Basic Auth 认证机制展开,系统讲解如何通过 Nginx 实现安全防护、认证信息透传等常见配置场景,帮助你在多种实际部署环境中快速搭建可靠的访问控制机制。 无论你是在搭建家庭 NAS 服务,还是在企业环境中集成搜索引擎系统,本教程都能为你提供一套可落地、可复用的 Nginx 安全认证解决方案。 下面是我的 Nginx 配置文件示例。我们通过 Docker 启动 Nginx 容器,并将本地编写好的配置文件挂载到容器中,从而实现自定义的反向代理和认证逻辑: 12345docker run -d \ --name my-nginx \ -p 80:80 \ -v $(pwd)/default.conf:/etc/nginx/conf.d/default.conf \ nginx d...
威联通 QNAP 系列 (一) 全闪 NAS TBS-h574TX QuTS hero 初探
字数 1371,阅读大约需 7 分钟 都说 2024 是全闪 NAS 的元年,各个厂商也纷纷出品的自家的 NAS,独占鳌头的还是 QNAP 的TBS-h574TX,5 盘位 NVME,支持 10G 网口以及雷电网桥,甚至还有 12 代 i5 CPU 这个配置很难不让人心动。 初始化系统安装使用 Qfinder Pro 可以查找局域网内的 QNAP NAS, 免去手动查找 IP 的麻烦,软件支持全平台。 Qfinder 寻找结果如下,可以识别出 NAS 名称,IP 地址,MAC 地址,机器型号以及系统及其版本。 除此之外,我们也可以在路由器后台寻找 IP 地址。 开始初始化流程: 进入 web 页面,开始安装系统 授权条款如下: 选择固件版本,为了快速安装,一般选择当前版本,然后进入 OS 内部再进行升级 设置 nas 名称和用户名,密码,由于系统内置了 admin 用户,所以这里不能使用 admin 设置时区以及 NTP 服务器同步时间。 设置 IP 地址,可以选择 DHCP 或者静态地址,我一般为了方便选 DHCP,这些后期都可以系统内部进行修改。 如...
Easysearch 基础运维扫盲指南:从 HTTP 到 HTTPS、认证与安全访问全解析
众所周知,原生 Elasticsearch 默认开启的是 HTTP 明文接口,并且不开启认证或加密。如果要启用 TLS/SSL 加密和账号认证,通常需要额外配置一系列安全模块。 而在 EasySearch 中,官方通过 initialize.sh 初始化脚本,大大简化了这些安全配置,启动时就能自动生成证书并开启密码保护。不过在一些测试或开发环境中,我们可能希望临时使用 HTTP + 无密码 的简化方式来调试。 本文将从配置文件入手,逐步说明如何启用或关闭认证、如何从 HTTPS 切换回 HTTP,以及如何开放外网访问。 🛠 初始化启动信息与默认密码当你执行 bin/initialize.sh 后,终端和 initialize.log 会输出初始化信息,其中包括自动生成的管理员账号密码,例如: 1curl -ku admin:160824cab0b02193226e https://localhost:9200 默认情况下,服务已启用 HTTPS 与密码认证。 ⚙ 修改配置文件:easysearch.yml配置文件位于: 1config/easysearch.yml...
Easysearch 服务昨天还好好的,为什么今天突然访问不了了?
在使用 Easyearch 搭建本地或云端搜索服务时,难免会遇到服务偶发性或持续性无法访问的问题。本文将从服务状态、端口监听、网络配置、安全组等五个维度,系统梳理排查思路,帮助大家快速定位并解决访问失败的原因。 🚢 一、Docker 部署场景下的排查方法如果你是通过官方的 Docker Compose 部署 EasySearch,一般不会出现太大问题。但如果你像我一样在群晖或 NAS 上做过自定义配置,以下通用排查方法可以帮助你快速定位问题: 示例 Docker Compose 配置12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273version: "3"services: easysearch-node1: user: "602:602" image: infinilabs/easysearch:...
Coco-AI 接入 Google drive
在 Coco-AI 最早的版本就提供了接入 Google drive 的视频,今天我终于实现了,而且借着全图形化的优势更加方便了。 参考这个文档新建 google SSO(好像也没啥参考性) https://developers.google.com/workspace/drive/api/quickstart/go?hl=zh-cn 创建客户端 填入信息, 然后在数据访问中添加权限 - 缺少的权限加在这里(如图),https://www.googleapis.com/auth/drive 在 coco-sever 更新 google drive 的信息 然后在 coco-server 中连接 跳转 google sso 由于是测试账户,所以会有这个弹窗,继续就好 再次进行测试 获取权限 显示登陆成功 然后可以在数据源中看到对应数据
Coco-AI 集成语雀作为语料库进行检索
coco-AI 把语雀当作语料库做检索说在前面,这个功能需要在语雀后台申请 Personal Access Token。使用的需要超级会员的(不是邀请新用户给的专业会员),所以需要付费使用。 然后在语雀后台,也就是https://www.yuque.com/settings/tokens处可以看见申请token的地方,如果你没有超级会员,这个是没办法用的。 点击新建,创建 token 分发权限,我这边给了所以的权限,语雀和 Notion 不同,这里给了权限就够了,其他地方无需在给权限。(手动@Notion 还要在文档或者文件夹授权) 点击查看详情可以看到 token,这里的 token 是可以反复查看的,由此语雀这一侧的设置完毕。 回到 coco-AI,我这边使用的是这个镜像,这里添加了对个人版本语雀的支持。 1infinilabs/coco:0.3.2_NIGHTLY-20250417 启动命令如下: 1docker run -d --name cocoserver -p 9000:9000 infinilabs/coco:0.3.2_NIGHTLY-202504...
Coco-AI 接入自定义数据源
Coco-AI 接入自定义数据源之前使用 Hugo Connector 接入和 hexo 和任意 Markdown,后来官方也支持了对于任意数据源的支持,主要是开放了这个接口: 具体操作如下: 设置 - conntor - 新增,让输入名称和描述等信息,新建出来 conntor 然后我们就能在数据源上的页面上看到刚刚添加的了 Customize Connector 了 点开提示,给了一个 API 然后我们去创建 token,如图 我这边使用 Postman 进行设置 如果你的请求没有带 token,就是这样的。 转成代码的是这样的,当然也可以开发自己的 agent。 1234567891011121314151617181920import requestsimport jsonurl = "http://localhost:9000/datasource/d00eeolvf2xxx/_doc"payload = json.dumps({ "title": "I am just a Coco doc ...
