阿里云提供了多种Elasticsearch版本,您可以通过本文了解各版本的功能特性,并选择最适合您业务的ES版本。
通用商业版和内核增强版对比
阿里云ES提供通用商业版和内核增强版两种实例类型,不同类型的实例支持的ES版本和功能特性也不一样。
对比项 |
通用商业版 |
内核增强版 |
支持版本 |
8.9、8.5、7.7、6.8、6.3、5.6、5.5版本 |
7.16、7.10、6.7版本 |
主要特点 |
|
|
适用场景 |
全部ES应用场景。 例如,信息检索、搜索、日志分析、向量检索等场景。 |
全部ES应用场景。 尤其适用于:
|
用户画像 |
|
|
计费项 |
按集群节点规格、存储空间、节点数计费。 |
按集群节点规格、存储空间、节点数计费。
|
2023年11月17日起日志增强版升级为内核增强版。更多详细信息,请参见 【通知】阿里云Elasticsearch上线内核增强版 。
开源版本特性
通用商业版和内核增强版均100%兼容Elasticsearch开源功能特性,并免费提供官方白金版高级特性(原X-Pack商业插件)。ES不同版本的开源特性变化如下:
7.16、7.10和6.7版本为内核增强版,在开源基础上提供了深度优化的AliES内核引擎增强特性。详细信息,请参见 AliES内核增强版功能介绍 。
8.9版本
新增开源特性:
-
支持文本和向量召回结果混排。详细信息,请参见 Reciprocal rank fusion (RRF) 。
-
向量最大维度提升到2048。详细信息,请参见 Increase max number of vector dims to 2048 。
-
暴力检索性能提升。详细信息,请参见 Improve brute force vector search speed 。
-
KNN查询支持多个字段同时查询。详细信息,请参见 Allow more than one KNN search clause 。
-
内置ELSER模型。详细信息,请参见 ELSER 。
-
稳定支持NLP分布式模型调度管理。详细信息,请参见 Make native inference generally available 。
-
带主键写入性能提升。详细信息,请参见 主键优化 。
-
常量Keyword字段查询性能提升。详细信息,请参见 Skip shards when querying constant keyword fields 。
-
稳定支持时序数据流TSDS和降采样Downsample功能。详细信息,请参见 TSDS 和 Downsample 。
-
优化原文内存,去除ThreadLocal使用。详细信息,请参见 Remove uses of deprecated LeafReader 。
更多变化,请参见 What’s new in 8.9 。
8.5版本
新增开源特性:
-
基于HNSW算法实现向量相似度搜索,详细信息请参见 k-nearest neighbor (kNN) search 。
-
新增时序功能(TSDS),详细信息请参见 Time series data stream (TSDS) 。
-
支持上传PyTorch模型,详细信息请参见 start-trained-model-deployment 。
-
新增Geo grid查询,详细信息请参见 Geo grid query 。
-
简化安全配置,详细信息请参见 Start the Elastic Stack with security enabled automatically 。
-
改进Lucene压缩算法降低索引大小。
-
Range query性能增强。
-
支持lookup运行时字段类型,详细信息请参见 lookup-runtime-fields 。
-
实现random sampler聚合查询,详细信息请参见 Random sampler aggregation 。
-
降低Master和Data节点的堆内存消耗。
-
删除_type,但是8.x会兼容7.x的请求,兼容方式请参见 rest-api-compatibility 。
-
索引保护,elastic用户默认只能读取Elasticsearch内置索引。
更多变化,请参见 Breaking changes in 8.5 。
7.16版本
新增开源特性:
-
跨集群搜索支持SQL查询。
-
ingest pipeline支持range类型丰富策略。
-
优化缓存,提高查询性能。
-
支持从Data Stream中添加和删除索引。
-
在审计日志中添加了集群UUID和name信息。
更多变化,请参见 breaking changes in 7.16 。
7.10版本
新增开源特性:
-
提高对存储字段的压缩能力,降低存储成本。
-
通过 事件查询语言(EQL) 增强Elasticsearch安全性。
-
search.max_buckets 的默认值由10000增加到65535。
-
支持不区分大小写的查询。通过将可选参数 case_insensitive 设置为true,实现不区分大小写的查询。
更多变化,请参见 Breaking changes in 7.10 。
7.7版本
新增开源特性:
-
创建索引时,默认分片数由5个变为1个。
-
移除Mapping type,在定义索引Mapping和Template等时,无需指定type。详细信息,请参见 Removal of mapping types 。
-
搜索请求默认返回的总文档数最多为10000。如果大于该值,Elasticsearch只返回10000个文档。详细信息,请参见 track_total_hits 10000 default 。
-
单个数据节点默认最多只能包含1000个shard,可通过 cluster.max_shards_per_node 参数配置。详细信息,请参见 Cluster Shard Limit 。
-
Scroll对象总数量默认最多为500,可通过 search.max_open_scroll_context 参数配置。详细信息,请参见 Scroll Search Context 。
-
父熔断器以当前真实可用内存为基准( indices.breaker.total.use_real_memory ),默认为JVM堆内存的95%,以最大内存可用率来避免内存溢出。详细信息,请参见 Circuit Breaker 。
-
废除 _all 字段的支持,提升检索性能。
-
新增间隔查询( Intervals Queries ),根据多字符串在文本中出现的先后顺序及距离检索。
-
开启审计日志后,审计事件将持久保存到<clustername>_audit.json主机文件系统上,不支持索引方式输出。详细信息,请参见 Enabling audit logging 。
更多变化,请参见 Breaking changes in 7.0 。
6.x版本(6.3、6.7、6.8版本)
新增开源特性:
-
一个index只能有一个type,推荐使用_doc。
-
从6.6.0开始,新增索引生命周期管理ILM(Index Lifecycle Management),降低索引维护成本。
-
新增 Rolling up historical data 功能,实现历史数据汇总。
-
从6.3开始,支持 X-Pack SQL ,支持SQL转DSL语句,缩减DSL学习成本。
-
丰富了聚合函数,增加支持 Composite 、 Parent 和 Weighted Avg 函数。
更多变化,请参见 Breaking changes in 6.0 。
5.x版本(5.5、5.6版本)
新增开源特性:
-
一个index可以有多个type,支持自定义type。
-
摒弃了string字段类型,由text或keyword代替。
-
index字段的取值由not_analyzed或no变为true或false。
-
使用float代替double,降低存储成本。
-
推出Java High Level REST Client替换TransportClient。
更多变化,请参见 Breaking changes in 5.0 。
相关文档
-
您可以在实例的 基本信息 页面查看实例类型和ES版本。具体操作,请参见 查看实例的基本信息 。
-
购买阿里云ES实例,请参见 创建阿里云Elasticsearch实例 。
-
评估ES使用规格和容量,请参见 规格容量评估 。