读者后台留言
近期,一位读者在公众号后台留言问道:“有 Elasticsearch 的国产化替代品吗?现在国产化不让用 ES 了,该怎么办?”
上面的说法仅是读者的留言说法,并不能代表官方。
但,“窥一斑而知全豹”!无独有偶,类似国产化替代方案,我在几个月前参与某公司项目评审的时候,与会其他专家对国产化替代方案讨论得尤为激烈。
——来自某网友评论
——星球球友评论
随着国内信息安全与软件供应链自主可控要求的不断提高,部分海外技术栈的使用正在受到限制。
Elasticsearch 作为一款流行的分布式搜索与分析引擎,因其商业策略变化与相关政策原因,一些行业与组织正在寻求国产化或可自主可控的替代方案。
本文将从多个角度梳理可能的国产化或可自主掌控的替代方案,帮助大家在无法使用 Elasticsearch 的情况下寻找合适的技术路径。
一、为什么要寻找 Elasticsearch 替代方案?
1.政策与合规要求
部分行业(如政企、关键基础设施等)对软件国产化和可控性提出严格要求,避免在关键环节依赖国外技术。
2.商业授权变化
Elasticsearch 自 7.11 版本起采用 Elastic 自有许可,与 Apache 2.0 开源协议脱钩(近期协议又有变动),引发潜在合规与费用问题。
大事!!Elasticsearch 和 Kibana 换开源协议了.....
Elasticsearch 又更改开源协议了?为啥?对企业有什么影响?
3.自主可控与技术路线规划
大型企业或组织希望在源代码层面拥有完全掌控能力,以便定制化和可持续发展。
即便短期不具备能力,但心向往之。
4.想用 Elasticsearch 高阶付费功能,但公司不给预算
二、潜在替代方案梳理
在当前技术生态下,谈 Elasticsearch 的完全替代方案需要真凭实据,拿出有说服力的功能、性能测试数据。
实话说,目前咱们还没有给出。
相信不久将来,我们会对比跟进之,也期望大家持续关注。
目前阶段,可行的替代方案参考如下。
1.基于 Elasticsearch 分支的开源分叉产品:OpenSearch
官网:https://opensearch.org/
简介:由 AWS 与社区共同维护,从 Elasticsearch 7.10 分叉而来,保留了原有特性和接口兼容度,采用 Apache 2.0 协议开源,可在国内自主部署与定制。
发展趋势:国外社区活跃,插件生态逐渐完善,为已经在使用 Elastic 技术栈的团队提供相对平滑的迁移路径。实话说,据我观察(站在第三方角度)国内社区并不活跃。
Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择
PS:熟悉 Elasticsearch 小伙伴都知道,Elastic中文社区当年是神一般的存在,不仅可以提升技术能力,还能结交志同道合的好朋友。可见社区、社群的重要性,从生态位立足到长远发展的角度,怎么强调都不为过。
2.国产开源搜索引擎与框架:XunSearch(讯搜)
官网:https://www.xunsearch.com/
简介:国产开源全文检索解决方案,更贴近中文分词和中文搜索需求,底层采用 C/C++ 编写。典型部署在 PHP 环境下,提供成熟的中文分词与检索能力,轻量级但适合中小型项目和特定场景。
技术栈:底层基于 Xapian,支持中文分词和多种检索策略。
发展趋势:适合对中文搜索有特殊要求且不依赖大规模集群与复杂分析场景的中小项目。
特别说明:2024年12月10日,官方网站已经打不开,最近一次代码更新是2年前。
3. 基于 Lucene / Solr 的自主定制方案
Apache Lucene:https://lucene.apache.org/
Apache Solr:https://solr.apache.org/
简介:Lucene 是一个成熟的全文检索库,Solr 则是基于 Lucene 构建的搜索服务器。它们均是纯开源、由 Apache 基金会维护的国际化社区项目。
特点:许可清晰:Apache 2.0 协议,对商业使用非常友好。基础牢固:Lucene 是 Elasticsearch 的底层搜索库基础。
发展趋势:Solr 与 Lucene 社区一直活跃,但要构建与 Elasticsearch 类似的分布式与可视化分析体系,需要更多二次开发和运维经验。
PS:我早期(2016年-2017年前后)接触过 Lucene 项目,当时就感慨,没有深厚的技术功底,是有很大难度的。
比如:数据量大了怎么办?数据可视化如何搞定?如何纵向、横向扩容?如何集群化部署?这些问题,原生 Solr 和 Lucene 搞定都有一定的难度和极大的工作量。
4.国产数据库与生态的全文检索能力扩展
一些国产数据库(例如达梦数据库、人大金仓 Kingbase、OceanBase 等)为满足国产化要求而被广泛采用。
这些数据库本身不如 Elasticsearch 专注搜索分析,但可通过以下方式扩展搜索能力:
利用 Lucene 库进行全文检索插件定制。
借助分词、倒排索引工具与数据库检索结合,实现较简单的搜索需求。
此类方案的优点是满足国产数据库替代要求,但在搜索分析特性上可能不如 Elasticsearch 那样丰富。
举例:国产达梦数据库官方文档中全文检索寥寥几页纸做了概括,着实不如开源搜索引擎功能丰富。
5.面向下一代搜索的国产化选择(向量检索/AI 搜索):Milvus(Zilliz 出品)
官网:https://milvus.io/
简介:国产开源的向量数据库,为海量多媒体、Embedding 相似度检索场景而生。尽管与传统全文搜索存在差异,但在 AI 驱动的场景中,是一个可自主掌控的国产方案。
发展趋势:AI 驱动的搜索与推荐是未来趋势,Milvus 等向量检索工具在图像、语音、文本特征检索上更有优势。
6.EasySearch
作为中国本土自主研发的搜索型数据库脱颖而出。其设计目标是为中国企业提供高效、可靠并适应本土需求的搜索与数据分析解决方案。
Easysearch 的分布式架构和倒排索引技术与 Elasticsearch 类似,可处理大规模数据,同时支持复杂的全文搜索与分析。
然而,Easysearch 并非对 Elasticsearch 的简单复制,而是在多个方面针对中国市场与中文处理进行了本地化优化:
中文文本优化:针对中文特殊语法结构进行深度优化,显著提高中文分词准确性与搜索效率。
性能与扩展性:在大规模企业应用场景下,通过特定的索引压缩、内存管理与查询优化技术,提升系统性能和资源利用率。
本土化生态支持:满足中国法律法规的安全合规需求,并与国内常用的第三方系统无缝集成,简化企业部署与运维。
此外,Easysearch 是国内首个通过搜索型数据库产品能力测试的国产搜索型数据库。自 2023 年 10 月起,Easysearch 在墨天轮搜索型数据库排行榜中长期占据榜首,凭借卓越性能和深度本土化优化赢得市场认可,仅用数月即获得众多企业用户的青睐。
Easysearch 与 Elasticsearch 对比
对比维度 | Elasticsearch 基础版 | Elasticsearch 白金版 | EasySearch 优势 |
---|---|---|---|
集群安全 | 基础安全特性有限 | 安全特性相对完善 | 内核级安全增强、加密通信、基于属性和角色的精细化访问控制、高级安全功能(LDAP/AD)、磁盘/字段加密、防暴力身份验证破解等一体化内置安全能力 |
集群管理 | 一对一管理 | 一对多管理(白金版可用) | 版本无限制统一管理、审计追踪集群变化、提供多种告警与监控手段,且支持云原生(K8s编排)环境无缝集成 |
集群拓展 | 跨集群搜索(基础版有) | 同版本跨集群数据复制(白金版) | 可支持多版本跨集群数据复制及查询拓展,轻松应对不同版本与大规模数据集场景,扩展性更强 |
数据管理 | 基础快照/恢复API | 支持 SQL 语法、异步搜索、可搜索快照等增强功能 | 全面支持 SQL 语法解析(含 JDBC 客户端)、异步搜索、内嵌多种中文分词插件(简繁、拼音、ik分词等)以及跨索引动态关联、特定字段去重等高级数据管理能力 |
内核优化 | 基础倒排索引和检索 | 白金版提供部分优化特性 | 深度定制底层索引压缩、查询加速、支持 zstd 压缩、kNN 向量搜索无维度限制;中文检索场景下性能更佳 |
国产适配 | 无 | 无 | 完全适配国产 CPU(申威、龙芯、飞腾、鲲鹏、海光、光芯等)和国产操作系统(华为欧拉、统信 UOS、银河麒麟),满足国产化自主可控要求 |
服务与响应 | 无官方支持 | 7*24 最快 2 小时响应 | 7*24 小时快速响应,更贴近国内企业服务需求,具有完善的本土化技术支持与售后保障 |
本地化与生态支持 | 国际化设计,无特别针对中文优化 | 某些插件需付费及额外配置 | 针对中文特殊语义和分词算法深度优化,多种本土化分析插件内置,无需额外付费即可享有完整功能,适配国内法律法规与合规要求,降低实施和维护成本 |
通过上述对比可见,EasySearch 在中文分词与检索精度、本土化合规适配、性能优化、集群与数据管理、国产软硬件适配以及服务响应等方面均展现出明显优势,对于需要满足国内政策法规、追求更佳中文处理性能及综合服务质量的企业而言,EasySearch 是更具竞争力和自主可控性的选择。
三、方案对比
方案类别 | 代表产品 | 优势 | 劣势 | 应用场景 |
---|---|---|---|---|
Elasticsearch 分叉 | OpenSearch | 与 ES 高度兼容、Apache 2.0 协议 | 非完全国产,但无商业限制 | 已有 ES 生态迁移,需维持搜索分析能力 |
国产开源全文检索 | XunSearch | 优秀中文支持、简单轻量 | 生态与社区较小、功能不及 ES 全面(官网down掉) | 中小项目、中文站点全文检索 |
Lucene/Solr 自主定制 | Solr、Lucene | 纯开源、成熟可靠 | 配套生态与易用性不如 ES | 有定制能力与团队,需控制整个栈 |
国产数据库全文检索扩展 | 达梦、金仓等 + 二次开发 | 完全国产数据库合规 | 搜索能力相对薄弱 | 需与国产数据库统一堆栈环境 |
向量检索/AI 搜索 | Milvus | 面向未来的 AI 搜索场景 | 不完全等同于传统全文检索 | 图像、语音、文本特征检索及推荐系统 |
国产搜索型数据库新秀 | EasySearch | 深度本土化优化、针对中文分词和查询高精度优化、符合本土法律法规、性能与扩展性卓越,已通过国内权威认证 | 国际知名度有待提升、生态仍在拓展 | 政企行业、本土化要求高及大规模中文数据搜索与分析场景 |
四、推荐与选择建议
国产化替代非一朝一夕之功,需要反复对比,预研验证可行性。中小型企业没有国产化替代需求的,继续放心大胆使用 Elasticsearch 是没有问题的。
一旦有替换需求,建议慎之又慎,尤其数据量非常大的集群业务场景。
根据自身业务场景、团队能力与合规要求,选择合适的替代方案,才能在变革中稳步前行。
如果这已经是不可逆转的大势所趋,那我们越早准备越好!
作为技术博主的我,也会响应读者号召,对于国产化的 EasySearch 等搜索引擎,后续会逐步给出解读,敬请期待......
参考:
【1】https://blog.csdn.net/lejuo/article/details/133824326
【2】https://www.cnblogs.com/infinilabs/p/18362093
【3】https://eco.dameng.com/document/dm/zh-cn/pm/full-text-search
【4】https://www.xunsearch.com/
【5】https://infinilabs.cn/
更多推荐
更短时间更快习得更多干货!
和全球超2000+ Elastic 爱好者一起精进!
elastic6.cn——ElasticStack进阶助手
抢先一步学习进阶干货!