阿里云提供了多种Elasticsearch(简称ES)版本,您可以通过本文了解各版本的功能特性,并选择最适合您业务的ES版本。
ES实例类型对比
阿里云ES提供向量增强版、内核增强版和通用商业版三种实例类型,不同类型的实例支持的ES版本和功能特性也不一样。
对比项 | 内核增强版 | 向量增强版、通用商业版 |
支持版本 | 7.16、7.10、6.7版本 | 向量增强版:8.15 通用商业版:8.13、8.9、8.5、7.7、6.8、6.3、5.6、5.5版本 |
主要特点 |
|
|
适用场景 | 全部ES应用场景。 尤其适用于:
| 全部ES应用场景。 例如,信息检索、搜索、日志分析、向量检索等场景。 |
用户画像 |
|
|
计费项 | 按ES集群节点规格、存储空间、节点数计费。 AliES内核基础增强功能以插件形式免费提供,可按需安装。 | 按ES集群节点规格、存储空间、节点数计费。 |
开源版本特性
所有ES版本均100%兼容Elasticsearch开源功能特性,并免费提供官方白金版高级特性(原X-Pack商业插件)。阿里云ES不同版本的开源特性变化如下:
7.16、7.10和6.7版本为内核增强版,在开源基础上提供了深度优化的AliES内核引擎增强特性。详细信息,请参见AliES内核增强版功能介绍。
8.15版本
新增开源特性:
向量索引字段优化。详细信息,请参见dense-vector。
默认使用int8_hnsw类型替换hnsw,并默认开启int8量化。
支持int4量化,可以节约8倍内存容量。
新增向量类型
bit
。
使用SIMD指令加速aarch64架构int8量化索引的merge性能,merge性能提高了3倍左右。
支持rerank phase,支持了text_similarity_reranker使用rerank模型。详细信息,请参见text-similarity-reranker-retriever。
增加retriever查询语法,支持多路召回。详细信息,请参见retriever。
增加semantic_text字段类型,更方便的支持语义检索。详细信息,请参见semantic-text。
稀疏查询使用sparse_vector语法替代text_expansion。详细信息,请参见query-dsl-sparse-vector-query
query rules API正式GA。详细信息,请参见query-rules-apis。
Index Sorting支持包含nested字段。详细信息,请参见index-modules-index-sorting。
新增日志场景的高效索引
logsdb
。详细信息,请参见logs-data-stream。Lucene版本升级到9.11,内存效率和查询性能提升。详细信息,请参见apache-lucenetm-9110-available。
更多变化,请参见What’s new in 8.15、 What’s new in 8.14。
8.13版本
新增开源特性:
向量维度提高到4096。详细信息,请参见4096 dimension dense vector。
向量索引支持Scalar Quantization特性,可降低接近75%的向量索引的内存。详细信息,请参见scalar-quantization-in-lucene。
支持稀疏向量,增加sparse_vector类型。详细信息,请参见Sparse vector。
支持单个shard的查询并发。详细信息,请参见Query parallelization。
向量字段支持nested类型,可以将文档切成段落后,对段落创建向量索引。详细信息,请参见Multiple results from the same doc with nested vectors。
增加Learning To Rank功能,支持在restore阶段对结果进行重排序。详细信息,请参见Learning To Rank。
支持全新的inference API,可以集成外部模型服务。详细信息,请参见inference APIs。
使用SIMD提升向量查询性能。详细信息,请参见Accelerating vector search with SIMD instructions。
更多变化,请参见What’s new in 8.13。
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用户默认只能读取ES内置索引。
更多变化,请参见Breaking changes in 8.5。
7.16版本
新增开源特性:
跨集群搜索支持SQL查询。
ingest pipeline支持range类型丰富策略。
优化缓存,提高查询性能。
支持从Data Stream中添加和删除索引。
在审计日志中添加了集群UUID和name信息。
更多变化,请参见breaking changes in 7.16。
7.10版本
新增开源特性:
提高对存储字段的压缩能力,降低存储成本。
通过事件查询语言(EQL)增强ES安全性。
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。如果大于该值,ES只返回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使用规格和容量,请参见规格容量评估。