Limits

更新时间:
复制 MD 格式

This page lists the hard limits for OpenSearch High-performance Search Edition, organized by category. Each table includes the consequence of exceeding the limit where applicable.

System limits

Item Limit
Number of clusters per user Not limited
Total documents per user Theoretically not limited — determined by your storage capacity quota
Total page views (PVs) per user Theoretically not limited — determined by the number of logical computing units (LCUs) allocated to your account
Character encoding UTF-8

Cluster limits

The following table lists limits for shared and exclusive clusters.

Item Shared cluster Exclusive cluster
Cluster name length 30 characters 30 characters
Field name length 30 characters 30 characters
Sort expression name length 30 characters 30 characters
Number of fields 256 512
Source table name length 16 characters 16 characters
Index field name length 64 characters 64 characters
INT fields 256
TIMESTAMP fields 4
GEO_POINT fields 2
LITERAL fields (cannot be used to create composite indexes) 256
TEXT or SHORT_TEXT fields 32 64
Numerical analysis indexes 4 8
Composite indexes 4 8
Fields per composite index 8
Numerical analysis indexes on INT fields 4 8
Numerical analysis indexes on GEO_POINT fields 2
Numerical analysis indexes on TIMESTAMP fields 4
Indexes on a single TEXT or SHORT_TEXT field 4 8
Indexes on a single LITERAL field 256
Keyword analysis indexes on INT fields 256
Vector indexes 0 2
Total data sources 20
Storage-optimized exclusive clusters have two additional restrictions:
A single cluster cannot exceed eight tables.
The query analysis feature is not supported, and query results are not displayed.

Field limits

Field type Limit
INT64 −2^63 to 2^63−1
FLOAT ±3.40282e+038
DOUBLE ±1.79769e+308
LITERAL Up to 65,535 bytes
TEXT Up to 65,536 words
SHORT_TEXT Up to 100 bytes. Fields exceeding 100 bytes are truncated.
LITERAL_ARRAY Up to 65,535 bytes. The built-in delimiter between elements is 2 bytes. Fields exceeding 65,535 bytes are truncated at the last complete element. For best performance, keep each field to 100 elements or fewer.
INT_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY Up to 65,535 elements per field when configured as attribute fields. For best performance, keep each field to 100 elements or fewer.

Sort expression limits

Item Limit
Rough sort expressions 30
Fine sort expressions 30
Feature function items per rough sort expression 4

Search result summary limits

Item Description Limit
Segment length Maximum length of a single summary segment 1–300 bytes
Number of segments Number of segments included in a search result summary 1–5

Data push limits

API rate limits

Item Limit
Max documents per API call 1,000. For better throughput, push 100 documents per call and package your documents.
Max API calls per second 500. Requests exceeding this rate fail with the error: rate exceeds app quota.

Payload size limits

Item Limit
Max request size 2 MB. Requests exceeding 2 MB fail with the error: rate exceeds app quota.
Max total data size per second 2 MB. If the combined size of API requests in a second exceeds 2 MB, subsequent requests fail.
Max document size 1 MB. Documents exceeding 1 MB are not synchronized and return the error: The total size of documents exceed.

Sync limits

Item Limit
Incremental sync rate for ApsaraDB RDS or PolarDB data sources 2 MB/s. If the rate exceeds 2 MB/s, the system automatically throttles and delays incremental data synchronization.
Incremental sync latency 99% of pushed documents are searchable within 1 second. 99.9% are searchable within 1 minute.

Non-printable reserved characters

The following characters cannot be included in data you push to OpenSearch. If a field value contains any of these characters, the record is not synchronized.

Code Emacs/Vi display
"\x1E\n" ^^
"\x1F\n" ^_
"\x1C" ^\
"\x1D" ^]
"\x03" ^C
Non-printable characters \u0002 and \u0003 are automatically converted to \t.
The engine supports the following character sets: CJK_1 (\xe2[\xba-\xbf][\x80-\xbf]), CJK_2 ([\xe3-\xe9][\x80-\xbf][\x80-\xbf]), FULLWIDTH_1 (\xef[\xbc-\xbe][\x80-\xbf]), and FULLWIDTH_2 (\xef\xbf[\x80-\xaf]).

Search limits

Item Limit
Max length per clause (non-filter) 1 KB before encoding. Clauses exceeding 1 KB return an error and are discarded.
Max filter clause length 4 KB before encoding. Filter clauses exceeding 4 KB return an error and are discarded.
Max results per page (single request) 500
Max total results per search (including paged queries) 5,000. For more than 5,000 results, use scroll queries.
Max documents in rough sort 1,000,000
Max documents in fine sort 200 (default)
If a search request exhausts the LCUs allocated to your application, it is dropped with the error: code:6015, message:Dropped by over compute resource quota.

Reindexing limits

Item Limit
Max synchronization rate 20 MB/s

SQL limits

Unsupported features

Feature Notes
DDL and DML Not supported
Global memory operations Not supported. Global memory is capped to prevent out-of-memory (OOM) errors when large result sets are sorted in memory. For example, SELECT * FROM t ORDER BY id LIMIT 1000000000 fails when data volume exceeds the limit.
Null values Not supported. Null values produced by operations such as LEFT JOIN are replaced with the specified default value.
LIKE and RLIKE operators Not supported for large data volumes. Use the QUERY function instead.
Data reshuffle across shards Not supported. Design your offline data distribution based on your query patterns. Limits are imposed when you join or aggregate multiple tables. If a query error occurs, analyze the query plan.

Format and naming rules

Item Rule
Table and column names Must start with a letter and can contain only letters, digits, and underscores (_). Special characters are not allowed.
UDF names Cannot conflict with SQL keywords or reserved words. If a conflict exists, escape the UDF name with backticks (` ``).
Constant strings Must be enclosed in single quotation marks ('). To include a literal single quotation mark in a string, escape it as two consecutive single quotation marks (''). For details on escaping strings in dynamic parameters, see Dynamic parameters.

Quantity limits

Item Limit
Statistical operator (per operator) Max 5,000,000 keys; max 512 MB memory
Default result set size 100 rows. If the outermost SQL statement omits a LIMIT clause, LIMIT 100 is applied automatically.

Operation limits

Item Limit
ARRAY type Use UDFs such as contain or notcontain for comparisons and queries. Operators =, <, >, and IN are not supported.
ARRAY type with GROUP BY The GROUP BY clause does not support ARRAY fields. Use UNNEST to flatten the array first. This may temporarily increase data volume — evaluate the performance impact before applying to production.
ARRAY type with JOIN The JOIN clause does not support ARRAY fields. Use MULTICAST to distribute the array first. This may temporarily increase data volume — evaluate the performance impact before applying to production.
Dynamic parameters Only constants in expressions can be replaced. Field names, table names, and LIMIT values cannot be replaced.
ORDER BY clause Must be used with a LIMIT clause.
UNION operator Only UNION ALL is supported. UNION (deduplication) is not supported. The input tables must have identical field names, types, and counts.
Summary table queries Full table scans are not supported. Specify primary keys when querying a summary table.
Child table queries Child table fields cannot be returned. Do not use SELECT * when querying child tables.
DATE or RANGE index queries Equal signs (=) are not supported. Use the QUERY function instead — for example, QUERY('time', '[1, 10]').
Attribute fields Attributes are created for all fields by default. Fields of the TEXT or SHORT_TEXT type cannot be used in expressions.

References