为了保证您的业务稳定运行,阿里云Elasticsearch Serverless(简称ES Serverless)服务会对单个应用的资源及使用进行相关限制。在因配额不足或服务受到限制导致任务执行失败时,您还可以申请调整应用配额或服务限制。
服务限制
服务限制是Serverless服务平台内定义的,针对应用内索引、分片、数据的管理和读写请求的系统级别限制。超过限制时Serverless服务会拒绝执行相关请求或熔断应用。
-
以下列举的服务限制为新建应用的默认限制,存量应用以控制台为准。
-
您可以申请修改服务限制。具体操作,请参见申请修改应用配额与服务限制。
-
服务限制中涉及的基本概念的说明,请参见基本概念。
|
限制项 |
限制描述 |
默认限制值 |
|
index.mapping.depth.limit |
json 嵌套的最大深度(个) |
[1 - 20] |
|
index.mapping.field_name_length.limit |
字段名长度限制 |
[1 - 100] |
|
index.mapping.total_fields.limit |
单索引字段总数(个) |
[1 - 1000] |
|
index.max_adjacency_matrix_filters |
单个索引邻接矩阵过滤器数量最大值 |
[0 - 100] |
|
index.max_docvalue_fields_search |
docvalue_field 上限个数 |
[1 - 100] |
|
index.max_inner_result_window |
内部子查询最大结果数 |
[1 - 100] |
|
index.max_ngram_diff |
最大 ngram 距离 |
[0 - 1] |
|
index.max_refresh_listeners |
最大并发等待数 |
[0 - 20] |
|
index.max_regex_length |
最大正则长度 |
[0 - 50] |
|
index.max_rescore_window |
精排最大结果数 |
[1 - 10000] |
|
index.max_result_window |
查询最大结果数 |
[1 - 10000] |
|
index.max_script_fields |
script field 上限个数 |
[1 - 32] |
|
index.max_shingle_diff |
最大 shingle 距离 |
[0 - 3] |
|
index.max_terms_count |
单次查询最大 term 数 |
[0 - 1024] |
|
index_quota |
索引总数上限(个) |
500 |
|
max_cu_per_search |
单次查询最大CU消耗(个) |
600 |
|
max_cu_per_shard |
单次查询单分片最大CU消耗(个) |
10 |
|
max_doc_size |
单文档大小(MB) |
1 |
|
max_index_metadata_update_qps |
索引元数据更新qps(次/30秒) |
1000 |
|
max_pipeline_num |
pipeline数上限(个) |
100 |
|
max_prefix_length |
前缀查询中允许的前缀字符串的最大长度 |
[0 - 50] |
|
max_refresh_qps |
refresh速率(次/秒) |
5 |
|
max_size_per_request |
单次请求大小限制(MB) |
30 |
|
max_storage_per_cu |
每CU对应最大存储比例,调大该比例会影响查询和写入性能,请谨慎调整 |
1600 |
|
max_timeout |
最长超时时间(秒) |
300 |
|
max_timeout_per_request |
单次查询最大耗时(秒) |
300 |
|
max_wildcard_length |
通配符查询中允许的通配符字符串最大长度 |
[0 - 50] |
|
max_write_size_per_request |
单次写入请求大小(MB) |
5 |
|
search.max_buckets |
单次聚合bucket上限 |
10000 |
|
search.max_keep_alive |
搜索最长保持时间(秒) |
900 |
ngram分词器与index.max_ngram_diff限制
ngram分词器通过滑动窗口将文本切分为指定长度的token。当min_gram和max_gram的差值超过index.max_ngram_diff的默认值1时,创建索引会失败并报错:The difference between max_gram and min_gram in NGram Tokenizer must be less than or equal to: [1] but was [N]。
如需使用更大的差值,在索引settings中显式设置index.max_ngram_diff参数:
PUT /test_index
{
"settings": {
"index.max_ngram_diff": 31,
"analysis": {
"analyzer": {
"my_ngram_analyzer": {
"tokenizer": "my_ngram_tokenizer"
}
},
"tokenizer": {
"my_ngram_tokenizer": {
"type": "ngram",
"min_gram": 1,
"max_gram": 32
}
}
}
}
}
过大的max_ngram_diff值会导致倒排索引体积急剧膨胀,严重影响索引性能和存储空间。请根据实际业务需求合理设置差值。
申请修改服务限制
-
在顶部菜单栏,选择目标应用所在地域。
在左侧导航栏,单击应用管理。
-
在应用列表单击应用名称。
-
在左侧导航栏,选择。
-
申请修改服务限制。
-
在配额总览页签,单击修改配额。
-
在目标限制项的运行值列中,单击
图标,在弹出的对话框中输入目标值后单击确认。 -
修改完所有的目标限制项后,在页面上方单击提交修改。
说明修改服务限制需要人工审批,审批1个工作日内完成。如果需求比较紧急,请提交工单或加入Elasticsearch Serverless服务用户群(钉钉群号:11205017670或72335013004)咨询。
-
-
(可选)单击申请历史,查看申请历史记录、申请状态和生效值。
-
在申请状态列,查看申请状态。
-
在申请项列,单击申请项,查看申请项的历史值、申请值和生效值。
说明-
生效值和申请值可能不一致,请在审批通过后及时查看生效值。
-
审批有可能会被拒绝,原因可能是申请值不合理、申请值可能会对业务产生影响等。如果审批被拒绝,您可以尝试其他解决方案或提交工单咨询。
-
-
如果审批完成前,您需要调整申请项,可以在操作列单击撤销后重新申请。
说明审批完成前,不允许再次修改应用配额或服务限制。
-
基本概念
|
概念 |
描述 |
|
应用 |
应用是Elasticsearch Serverless服务的基础管理单元,主要用于资源隔离与访问控制。每个应用配置一个独立的访问地址和用户名密码,支持使用不同的应用管理并存储不同业务或项目中的数据。 |
|
索引 |
索引是具有相同结构的文档集合,是指向一个或者多个分片的逻辑命名空间,用于区分同一业务中不同的数据集合。 |
|
文档 |
文档是Elasticsearch数据存储的最小信息单元,可以被索引和检索。 |
|
分片 |
Elasticsearch分布式搜索会把一个完整的索引存储在多个分片中。 |
|
副本 |
主分片与索引的副本分片都能处理查询请求,但只有主分片才能处理索引请求。副本保证了在主分片损坏或丢失时的故障恢复能力,同时可以提高查询效率。 |