This topic describes the limits on search indexes.
Index limits
The following table describes the limits of a search index. These limits include the number of rows, total data size, number of fields, read and write rate, synchronization latency, and nested fields. The table also describes the limits on the fields in the data table from which the search index is created.
Restrictions | Limit | Description |
Number of search indexes | None | We recommend that you create only one search index that contains all fields that you want to retrieve. |
Number of rows | 1 trillion | If your business requirements exceed the limit, please submit a ticket to contact us. |
Total size | 1 PB | If your business requirements exceed the limit, please submit a ticket to contact us. |
Number of index fields | 1000 | If your business requirements exceed the limit, please submit a ticket to contact us. |
Read and write rate | 100,000 rows/s |
If your business requirements exceed the limits, please submit a ticket to contact us. |
Synchronization latency | 3 seconds |
|
Array length | 256 | The maximum number of elements in an array. |
Nested field | Must be unique within the search index. |
|
Vector field | 5 |
|
Total length of values in all primary key columns | 1,000 bytes | The total length of values in all primary key columns cannot exceed 1,000 bytes. |
Length of a String value in a primary key column | 1,000 bytes | When you create an index for a primary key column of the String type, the column value cannot exceed 1,000 bytes in length. |
Length of a String value in an attribute column (indexed as Keyword) | 4 KB | None. |
Length of a String value in an attribute column (indexed as FuzzyKeyword) | 2 KB | None. |
Length of a String value in an attribute column (indexed as Text) | 2 MB | In most cases, this limit is the same as the length limit for an attribute column in a data table. When you perform a fuzzy query on a Text field using fuzzy tokenization, the original content is limited to a maximum of 1,024 characters or Chinese characters. Content that exceeds this limit is truncated, and only the first 1,024 characters or Chinese characters are indexed. |
Query limits
Search API
The following table describes the limits of the Search API for querying, aggregating, and analyzing data.
Category | Limitations | Limitations | Description |
General limits | offset+limit | 100000 |
|
timeout | 10 seconds | None. | |
CU | None | None. | |
QPS | 100,000 | The upper limit for lightweight transaction processing (TP) is 100,000 queries per second (QPS).If your business requirements exceed the limit, please submit a ticket to contact us. | |
Number of queries in a single Search request | 1,024 | Complex nested queries in a Search request can affect query performance. Simplify the query for better efficiency. | |
Terms query | Number of search terms | 1,024 | A terms query supports a maximum of 1,024 search terms. |
Wildcard query | Search query length | 32 characters | The search query for a WildcardQuery cannot exceed 32 characters. |
Prefix query | Search query length | 1,000 characters | The search query for a PrefixQuery cannot exceed 1,000 characters. |
Full-text search | Total number of highlighted fragments | 500 | The total number of highlighted fragments that can be requested and returned within inner_hits and highlight. |
Number of highlighted fields | 10 | You can specify highlight parameters for a maximum of 10 fields. | |
Vector search | Number of top K rows returned | 1,000 | A KnnVectorQuery can return a maximum of the top 1,000 rows. |
Aggregation | Number of Aggregations at the same level | 32 | When an Aggregation is added to a SubGroupBy, the count starts again from 0. |
Number of GroupBys at the same level | 5 | When a GroupBy is added to a SubGroupBy, the count starts again from 0. | |
GroupBy nesting levels | Layer 3 | The level count includes the GroupBy itself. | |
Number of Filters in GroupByFilter | 10 | None. | |
Number of groups returned by GroupByField | 2,000 | None. | |
Number of internal sources in GroupByComposite | 32 | The maximum number of columns supported for grouping by multiple columns. | |
Number of Ranges in GroupByRange | 100 | None. | |
Number of Ranges in GroupByGeodistance | 10 | None. |
ParallelScan API
The following table describes the limits of the ParallelScan API for querying data and performing parallel scans.
Category | Restrictions | Limitations | Description |
General limits | offset+limit | Not supported |
|
CU | None | None. | |
QPS | None | None. | |
Parallel scan | Maximum concurrency | Equal to the MaxParallel value | The MaxParallel value returned by the ComputeSplits API. |
Task validity period (aliveTime) | 10 minutes | None. | |
Limit on the number of concurrent ParallelScan tasks | 10 | Concurrent tasks that have the same session ID and ScanQuery are considered a single task. For more information, see parallel scan. |