Elasticsearch 国产化替代方案之一 Easysearch 的介绍与部署指南

embedded/2024/12/26 10:43:13/

一、前言

在国内数字化转型浪潮和 信创 大背景下,“替代进口”成为许多企业级应用所需要面对的重要课题,搜索领域也不例外。

Elasticsearch(简称 ES)作为一款业界领先的全文搜索和分析引擎,虽然功能强大,但在国内应用时会遇到诸如使用成本高、关键技术和版本开放策略变动大、安全合规担忧等问题。于是,“Elasticsearch 的国产化替代方案” 成了无数开发者和企业 IT 部门共同关注的热点。

读者留言:有 Elasticsearch 国产化替代品吗?现在国产化不让用 ES 了......

在诸多替代方案中,Easysearch 的出现令人眼前一亮。它不仅兼具 全文检索向量检索、地理位置信息查询、聚合分析 等核心功能,还可直接平滑替换 Elasticsearch,并提供更加完善的企业级能力,让人对其未来应用前景充满期待。

接下来,本文将对 Easysearch 做一次深度解读,并以 CentOS 7 环境为例,分享一份简洁的部署指南。

二、Easysearch 概述

2.1 产品定位

Easysearch 是由 INFINI Labs 提供的分布式搜索型数据库,旨在满足企业在海量非结构化数据检索、全文检索向量检索、地理位置信息查询、组合索引、多语种支持、聚合分析等多种场景的需求。

b2dbbc1b271082572eeb65a02df6e704.png

同时,Easysearch 也致力于打造开箱即用、极致易用的近实时搜索体验。

2.2 主要特性

  1. 轻量易用

  • 整个安装包不到 50 MB,免去了繁琐的下载安装过程;

  • 部署、运维成本较低。

内置安全

  • 默认提供完整的安全功能,无需额外插件;

  • 支持 LDAP 等企业常用鉴权方式,简化集成流程。

稳定可靠

  • 修复了核心层面的大量问题,拥有严苛业务场景的实践验证;

  • 即使在海量数据下依旧保持稳定性和可靠性。

完美替代 Elasticsearch

  • 保留了 Elasticsearch 的核心 API 风格,迁移和使用门槛相对较低;

  • 实现了 全文检索、地理位置查询、聚合分析等 ES 核心功能,并且在此基础上增加了企业级功能与优化。

2.3 适用场景(同 Elasticsearch)

  • 企业内部搜索:文档、邮件、业务流程等信息检索;

  • 电商与推荐:商品搜索、向量检索、个性化推荐;

  • 日志与监控:监控大规模日志数据并实时检索分析;

  • 地理信息查询:支持距离、坐标、区域匹配等丰富的地理查询能力。


三、部署指南(CentOS 7 环境为例)

前提:你已经部署过 Elasticsearch,相关 JAVA 环境变量、句柄设置已经 OK!

下面以 CentOS 7 为例,介绍 Easysearch 的部署过程。整体可简化为三个步骤:下载并解压 -> 初始化脚本 -> 启动。以下步骤也可在官方文档中查看更详细信息(官方部署文档地址)。

https://infinilabs.cn/docs/latest/easysearch/


3.1 下载安装包并解压

官方地址 获取最新版本的 Easysearch 安装包;

使用 wget 或者其他方式下载到 CentOS 服务器;

铭毅温馨提示:官方给出的命令行下载会导致 SSH 客户端卡死(如下图所示),建议参考我的文档步骤来。

87421b9ead8008fd56d3c47f30cb113a.png


  1. 解压到指定目录,如 /opt/easysearch

# 下载后的安装包名称为 easysearch-1.7.1-7-linux-amd64-bundle.tar.gz
wget - https://release.infinilabs.com/easysearch/stable/bundle/easysearch-1.7.1-7-linux-amd64-bundle.tar.gz

3.2 初始化脚本

解压之后,可以在 easysearch 下的 bin 目录下找到相应的初始化脚本。

c39cb2c972052f8a9031465ed3204609.png

在执行脚本前,请先检查以下注意事项:

  1. 脚本权限(默认就可以):确认当前用户或使用 root 用户进行操作,确保对初始化脚本有执行权限。

  2. 环境变量:建议在脚本中或系统环境中配置好 JAVA_HOME 等必要环境变量(前提)。

执行脚本的效果包括:

  • 自动生成默认密码或密钥;

  • 可以根据业务需求修改服务端口、安全策略或适配配置。

  • 安装N多插件。

86cbc40e9e06d46e29af47b4717f4b90.png

cd /opt/easysearch && bin/initialize.sh

根据终端提示操作,生成初始密码或进行简单配置修改。

生成的密码文件在 logs 路径下(实话说,我不大习惯,自己找了 1 个多小时才找到):


  • 用户名amdin(与 Elasticsearch 不同)

  • 密码:是 admin 用户名之后的哈希值密码。

8fac506168bbe15656fe353735fdecbb.png


3.3 启动服务

初始化完成后,理论上即可启动 Easysearch

但是我是云服务器,要外网访问,所以要改默认 IP 为 0.0.0.0。改动如下:

e900b5ba512faa6cdc0f0800a1b3af1b.png

bin/easysearch -d

执行成功后,检查进程是否正常运行,以及确认日志中无明显报错。若一切顺利,说明 Easysearch 已经在你的 CentOS 7 服务器上顺利部署。

验证成功的标志如下

检查进程是否存在

ps -ef | grep easysearch

2dff612defa549f23b6f01603912e303.png

检查端口是否存在

netstat -natpl | grep 9200

369d93e5179ed63104a58ca85c7d1f3f.png

curl 访问验证成功

5b126a4a707514895941fb796f26d8fe.png

浏览器 Head 插件访问成功

a403b6a545cf35d5caaaa69087b67f92.png

cb4f77e822154f9c414886e52faa827c.png

小贴士:如果需要配置开机自启动或以服务的方式运行,可将启动脚本添加到系统服务配置中,或在系统守护进程中进行相应设置。
具体参见官方文档即可。


四、Easysearch 的更多思考及建议

4.1 产品价值

Easysearch 作为一款核心搜索型数据库,能够为企业提供快速精准的搜索、智能分析能力,并以更低的资源消耗和更少的运维复杂度带来灵活稳定的使用体验。在对外或内部系统中,Easysearch 都有潜力帮助企业减少对国外商业组件的依赖,提升自主可控能力。

4.2 核心竞争力

  • 社区与技术支持国产化软件要想被大规模认可,离不开活跃的社区生态和可靠的技术支持。Easysearch 若能持续完善文档、工具链以及开源社区建设,将在市场上形成良性循环。

  • 企业级扩展:在分布式协同、高可用、数据可视化集成、跨域数据搜索等领域进一步做深做实,为用户提供更具竞争力的解决方案。

4.3 未来发展方向

  • 向量搜索能力:在越来越多的 NLP、语义检索、推荐场景中,向量搜索变成搜索引擎的核心竞争力之一。Easysearch 已具备初步向量检索功能,若能在大规模向量索引和深度语义检索上加大投入,将迎来更广阔的应用前景。

  • 生态繁荣:能否像 Elasticsearch 那样拥有丰富的插件生态、数据可视化工具,以及监控管理平台,也直接影响国产化替代方案的成熟度。

  • 大数据组件的深度融合:如与 SparkFlink 等生态的协同,让 Easysearch 更好地与企业级大数据平台联动,为实时索引与实时分析提供可能。


结语

Elasticsearch 的国产化替代方案是当前行业非常关注的领域。Easysearch 凭借其轻量、高效、易用和内置安全等特性,正成为不少企业关注和尝试的重点对象。随着产品的不断迭代和完善,Easysearch 可能会在分布式搜索和企业数据分析市场上扮演越来越重要的角色,也有望为中国企业提供更具竞争力、更安全合规的搜索服务。

如果你正在寻找一款能够兼顾国内合规要求、部署简易且功能完善的搜索解决方案,Easysearch 值得一试。相信在不断的技术积累与社区互动中,Easysearch 也会以更快的速度迭代与成长,为广大开发者和企业用户提供更优质的搜索体验。

如果你使用 Easysearch 遇到问题,欢迎留言交流。


参考链接

  • Easysearch 官方部署文档

  • Elasticsearch 官网

  • https://infinilabs.cn/docs/latest/easysearch/https://infinilabs.cn/

更多推荐

    • Elasticsearch 使用误区之一——将 Elasticsearch 视为关系数据库!

    •   Elasticsearch 使用误区之二——频繁更新文档

    • Elasticsearch 使用误区之三——分片设置不合理

    • Elasticsearch 使用误区之四——不合理的使用 track_total_hits

    • Elasticsearch 使用误区之五——单次请求获取大量数据

    • Elasticsearch 使用误区之六——富文本内容写入前不清洗

    •    《一本书讲透 Elasticsearch》读者群的创新之路

8208a944672d83dbbf1b6e176cdc582e.png

更短时间更快习得更多干货!

和全球2000+ Elastic 爱好者一起精进!

elastic6.cn——ElasticStack进阶助手

fb78005170a378cbf45b99463cb7f507.gif

抢先一步学习进阶干货!


http://www.ppmy.cn/embedded/148873.html

相关文章

[实战]Docker应用自动重启

场景 Java应用,在凌晨定时任开始时运行一段时间后,会自动重启,导致定时任务失败。该应用使用Docker部署 分析 Docker应用运行一段时间自动重启可能的原因为容器分配的资源(如CPU、内存)不足,系统可能会杀…

【uni-app】2025最新uni-app一键登录保姆级教程(包含前后端获取手机号方法)(超强避坑指南)

前言: 最近在配置uni-app一键登录时遇到了不少坑,uni-app的配套文档较为混乱,并且有部分更新的内容也没有及时更改在文档上,导致部分开发者跟着uni-app配套文档踩坑!而目前市面上的文章质量也层次不齐,有的…

C语言的复习

一、函数 为了不重复写同一段代码&#xff0c;所以需要封装成函数&#xff0c;每次调用时只需要写函数名。 #include<stdio.h> void fun() {int sum 0;for(int i 0; i < 100;i){sum i;} } int main() {fun();return 0; } 1.1 函数的作用&#xff1a; 可以实现某…

【计算机视觉CV-图像分类】06 - VGGNet的鲜花分类实现:从数据预处理到模型优化的完整实战!

目录 引言 VGGNet概述 VGGNet的网络架构 基于预训练VGGNet的五类鲜花分类实现 4.1 数据准备与预处理 4.2 模型实例化与参数调整 4.3 模型训练与保存最优模型 4.4 模型导入与预测 4.5 训练过程的可视化 模型优化与防止过拟合 总结与展望 参考文献 引言 在计算机视觉…

Scratch教学作品 | 鲁道夫与雪人——温馨圣诞动画,享受节日魔法! ✨

今天为大家推荐一款充满圣诞氛围的Scratch动画作品——《鲁道夫与雪人》&#xff01;由SumitraKan制作&#xff0c;这款作品以轻松愉快的节日旋律和童趣动画&#xff0c;为你呈现一个温馨的圣诞世界。跟着鲁道夫和雪人一起踏上奇妙的节日旅程吧&#xff01;✨ 更棒的是&#xf…

BFS 解决拓扑排序_ 课程表_火星词典

什么是拓扑排序 拓扑排序的基本要求 有向无环图&#xff08;DAG&#xff09;&#xff1a;拓扑排序只适用于没有环的有向图。如果图中有环&#xff0c;无法进行拓扑排序。 唯一性&#xff1a;对于一个DAG&#xff0c;拓扑排序不一定是唯一的&#xff0c;可能有多种有效的拓扑排序…

链原生 Web3 AI 网络 Chainbase 推出 AVS 主网, 拓展 EigenLayer AVS 场景

在 12 月 4 日&#xff0c;链原生的 Web3 AI 数据网络 Chainbase 正式启动了 Chainbase AVS 主网&#xff0c;同时发布了首批 20 个 AVS 节点运营商名单。Chainbase AVS 是 EigenLayer AVS 中首个以数据智能为应用导向的主网 AVS&#xff0c;其采用四层网络架构&#xff0c;其中…

RPC入门教学(一) ———— RPC介绍与protobuf的介绍与使用

什么是RPC RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;是一种允许程序调用另一台计算机上的子程序或函数的协议&#xff0c;而无需程序员显式地进 行底层网络编程。RPC的目标是让开发者在编写分布式应用时&#xff0c;可以像调用本地函数一样简…