This topic describes the limits on search indexes.
Index limits
The number of rows, total size, number of fields, read/write rate, synchronization latency, nested types, and field usage limits in a search index are detailed in the following table.
Limit item | Limit content | Description |
Number of search indexes | Unlimited | It is recommended to create only one search index that contains all the fields you need to retrieve. |
Row limit | 100 billion | If your business needs exceed the limit, please submit a ticket to contact us. |
Total size limit | 100 TB | If your business needs exceed the limit, please submit a ticket to contact us. |
Number of fields in a search index | 1,000 | None. |
Read/write rate | 50,000 rows/s |
If your business needs exceed the limit, please submit a ticket to contact us. |
Synchronization latency | 3 seconds |
|
Array length | 256 | The maximum number of elements in an array. |
Nested type field limits | Unique within a search index |
|
Vector type field limits | Unique within a search index |
|
Total length of values in all primary key columns | 1,000 bytes | The total length of values in all primary key columns in each row can be a maximum of 1,000 bytes. |
Length of the value in a primary key column of the String type | 1,000 bytes | When you create an index for a primary key column of the String type, the length of the column value cannot exceed 1,000 bytes. |
Length of the value in an attribute column of the String type when you want to index the column as Keyword | 4 KB | None. |
Length of the value in an attribute column of the String type when you want to index the column as Text | 2 MB | In most cases, the limit is the same as the length limit on an attribute column in a data table. When you perform fuzzy query based on fuzzy tokenization for a Text field and the value of the Text field exceeds 1,024 characters in length, Tablestore truncates and discards the excess characters, and tokenizes only the first 1,024 characters. |
Query limits
Search operation
The limits associated with calling the Search operation for querying and analyzing data are described in the following table.
Classification | Limit item | Limit content | Description |
General limits | offset+limit | 100,000 |
|
timeout | 10 seconds | None. | |
CU | Unlimited | None. | |
QPS | 100,000 | The upper limit for lightweight transaction processing (TP) is 100,000 queries per second (QPS). If your business needs exceed the limit, please submit a ticket to contact us. | |
Number of queries in a Search operation | 1,024 | If complex nested queries are specified in a Search call, query performance is compromised. We recommend that you simplify the query. | |
Terms query | Number of search queries | 1,024 | Terms query supports a maximum of 1,024 search queries. |
Wildcard query | Length of search query | 32 characters | The length of a search query in a wildcard query cannot exceed 32 characters. |
Prefix query | Length of search query | 1,000 characters | The length of a search query in a prefix query cannot exceed 1,000 characters. |
Full-text search | Number of highlighted text fragments | 500 | The total number of highlighted text fragments that can be returned when the conditions specified by the inner_hits and highlight parameters are met. |
Number of fields for which you can enable the highlight feature | 10 | You can specify highlight parameters for a maximum of 10 fields. | |
Vector retrieval | Number of top K most similar rows returned | 1,000 | KnnVectorQuery returns a maximum of the top 1,000 rows. |
Aggregation | Number of aggregations at the same level | 5 | The number of aggregations is recalculated each time you add a new aggregation to SubGroupBy. |
Number of GroupBys at the same level | 5 | The number of GroupBys is recalculated each time you add a new GroupBy to SubGroupBy. | |
Number of nested GroupBys | 3 levels | The root GroupBy is counted as a nested level. | |
Number of filters in GroupByFilter | 10 | None. | |
Number of groups returned by GroupByField | 2,000 | None. | |
Number of sources in GroupByComposite | 32 | The maximum number of columns supported by a multi-column field group. | |
Number of ranges in GroupByRange | 100 | None. | |
Number of ranges in GroupByGeodistance | 10 | None. |
ParallelScan operation
The limits associated with calling the ParallelScan operation for querying and exporting data in parallel are described in the following table.
Classification | Limit item | Limit content | Description |
General limits | offset+limit | No supported |
|
CU | Unlimited | None. | |
QPS | Unlimited | None. | |
Concurrent data export | Maximum concurrency | Equal to the MaxParallel value | The MaxParallel value in the result returned by ComputeSplits. |
Task alive time | 10 minutes | None. | |
Limit on the number of concurrent ParallelScan tasks | 10 | Parallel scan tasks that have the same session ID and the same ScanQuery value are considered one task. For more information, see the referenced document. |