Tous les produits
Search
Centre de documentation

OpenSearch:Limits

Dernière mise à jour :Aug 10, 2026

Cette rubrique répertorie les limites strictes de l'édition haute performance d'OpenSearch, classées par catégorie. Chaque tableau indique, le cas échéant, la conséquence du dépassement d'une limite.

Limites système

Élément Limite
Nombre de clusters par utilisateur Illimité
Total des documents par utilisateur Théoriquement illimité — déterminé par votre quota de capacité de stockage
Total des pages vues (PV) par utilisateur Théoriquement illimité — déterminé par le nombre d'unités de calcul logiques (LCU) allouées à votre compte
Encodage des caractères UTF-8

Limites des clusters

Le tableau suivant répertorie les limites applicables aux clusters partagés et dédiés.

Élément Cluster partagé Cluster dédié
Longueur du nom du cluster 30 caractères 30 caractères
Longueur du nom du champ 30 caractères 30 caractères
Longueur du nom de l'expression de tri 30 caractères 30 caractères
Nombre de champs 256 512
Longueur du nom de la table source 16 caractères 16 caractères
Longueur du nom du champ d'index 64 caractères 64 caractères
Champs INT 256 —
Champs TIMESTAMP 4 —
Champs GEO_POINT 2 —
Champs LITERAL (ne peuvent pas être utilisés pour créer des index composites) 256 —
Champs TEXT ou SHORT_TEXT 32 64
Index d'analyse numérique 4 8
Index composites 4 8
Champs par index composite 8 —
Index d'analyse numérique sur les champs INT 4 8
Index d'analyse numérique sur les champs GEO_POINT 2 —
Index d'analyse numérique sur les champs TIMESTAMP 4 —
Index sur un seul champ TEXT ou SHORT_TEXT 4 8
Index sur un seul champ LITERAL 256 —
Index d'analyse de mots-clés sur les champs INT 256 —
Index vectoriels 0 2
Total des sources de données 20 —
Les clusters dédiés optimisés pour le stockage comportent deux restrictions supplémentaires :
Un cluster ne peut pas contenir plus de huit tables.
La fonctionnalité d'analyse des requêtes n'est pas prise en charge et les résultats des requêtes ne s'affichent pas.

Limites des champs

Type de champ Limite
INT64 −2^63 à 2^63−1
FLOAT ±3,40282e+038
DOUBLE ±1,79769e+308
LITERAL Jusqu'à 65 535 octets
TEXT Jusqu'à 65 536 mots
SHORT_TEXT Jusqu'à 100 octets. Les champs dépassant 100 octets sont tronqués.
LITERAL_ARRAY Jusqu'à 65 535 octets. Le délimiteur intégré entre les éléments est de 2 octets. Les champs dépassant 65 535 octets sont tronqués au dernier élément complet. Pour des performances optimales, limitez chaque champ à 100 éléments ou moins.
INT_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY Jusqu'à 65 535 éléments par champ lorsqu'ils sont configurés comme champs d'attribut. Pour des performances optimales, limitez chaque champ à 100 éléments ou moins.

Limites des expressions de tri

Élément Limite
Expressions de tri approximatif 30
Expressions de tri fin 30
Éléments de fonction de caractéristique par expression de tri approximatif 4

Limites du résumé des résultats de recherche

Élément Description Limite
Longueur du segment Longueur maximale d'un seul segment de résumé 1–300 octets
Nombre de segments Nombre de segments inclus dans un résumé de résultat de recherche 1–5

Limites de l'envoi de données

Limites de débit de l'API

Élément Limite
Nombre maximal de documents par appel d'API 1 000. Pour un meilleur débit, envoyez 100 documents par appel et regroupez vos documents.
Nombre maximal d'appels d'API par seconde 500. Les requêtes dépassant ce taux échouent avec l'erreur : rate exceeds app quota.

Limites de taille de la charge utile

Élément Limite
Taille maximale de la requête 2 Mo. Les requêtes dépassant 2 Mo échouent avec l'erreur : rate exceeds app quota.
Taille totale maximale des données par seconde 2 Mo. Si la taille cumulée des requêtes API sur une seconde dépasse 2 Mo, les requêtes suivantes échouent.
Taille maximale d'un document 1 Mo. Les documents dépassant 1 Mo ne sont pas synchronisés et renvoient l'erreur : The total size of documents exceed.

Limites de synchronisation

Élément Limite
Taux de synchronisation incrémentielle pour les sources de données ApsaraDB RDS ou PolarDB 2 Mo/s. Si le taux dépasse 2 Mo/s, le système applique automatiquement une limitation de débit et retarde la synchronisation incrémentielle des données.
Latence de synchronisation incrémentielle 99 % des documents envoyés sont consultables en moins d'une seconde. 99,9 % sont consultables en moins d'une minute.

Caractères réservés non imprimables

Les caractères suivants ne peuvent pas figurer dans les données que vous envoyez à OpenSearch. Si la valeur d'un champ contient l'un de ces caractères, l'enregistrement n'est pas synchronisé.

Code Affichage Emacs/Vi
"\x1E\n" ^^
"\x1F\n" ^_
"\x1C" ^\
"\x1D" ^]
"\x03" ^C
Les caractères non imprimables \u0002 et \u0003 sont automatiquement convertis en \t .
Le moteur prend en charge les jeux de caractères suivants : CJK_1 ( \xe2[\xba-\xbf][\x80-\xbf] ), CJK_2 ( [\xe3-\xe9][\x80-\xbf][\x80-\xbf] ), FULLWIDTH_1 ( \xef[\xbc-\xbe][\x80-\xbf] ) et FULLWIDTH_2 ( \xef\xbf[\x80-\xaf] ).

Limites de recherche

Élément Limite
Longueur maximale par clause (hors filtre) 1 Ko avant encodage. Les clauses dépassant 1 Ko renvoient une erreur et sont ignorées.
Longueur maximale d'une clause de filtre 4 Ko avant encodage. Les clauses de filtre dépassant 4 Ko renvoient une erreur et sont ignorées.
Nombre maximal de résultats par page (requête unique) 500
Nombre total maximal de résultats par recherche (y compris les requêtes paginées) 5 000. Pour plus de 5 000 résultats, utilisez les requêtes de défilement.
Nombre maximal de documents dans le tri approximatif 1 000 000
Nombre maximal de documents dans le tri fin 200 (par défaut)
Si une requête de recherche épuise les LCU allouées à votre application, elle est abandonnée avec l'erreur : code:6015, message:Dropped by over compute resource quota .

Limites de réindexation

Élément Limite
Taux maximal de synchronisation 20 Mo/s

Limites SQL

Fonctionnalités non prises en charge

Fonctionnalité Notes
DDL et DML Non pris en charge
Opérations en mémoire globale Non pris en charge. La mémoire globale est plafonnée pour éviter les erreurs de dépassement de mémoire (OOM) lors du tri de grands ensembles de résultats en mémoire. Par exemple, SELECT * FROM t ORDER BY id LIMIT 1000000000 échoue lorsque le volume de données dépasse la limite.
Valeurs nulles Non prises en charge. Les valeurs nulles générées par des opérations telles que LEFT JOIN sont remplacées par la valeur par défaut spécifiée.
Opérateurs LIKE et RLIKE Non pris en charge pour les volumes de données importants. Utilisez plutôt la fonction QUERY.
Redistribution des données entre les shards Non prise en charge. Concevez votre distribution de données hors ligne en fonction de vos modèles de requête. Des limites sont imposées lorsque vous joignez ou agrégez plusieurs tables. En cas d'erreur de requête, analysez le plan de requête.

Règles de format et de nommage

Élément Règle
Noms de table et de colonne Doivent commencer par une lettre et ne peuvent contenir que des lettres, des chiffres et des traits de soulignement (_). Les caractères spéciaux ne sont pas autorisés.
Noms UDF Ne doivent pas entrer en conflit avec les mots-clés SQL ou les mots réservés. En cas de conflit, échappez le nom UDF avec des accents graves (` ``).
Chaînes constantes Doivent être entourées de guillemets simples ('). Pour inclure un guillemet simple littéral dans une chaîne, échappez-le sous la forme de deux guillemets simples consécutifs (''). Pour plus de détails sur l'échappement des chaînes dans les paramètres dynamiques, consultez la section Paramètres dynamiques.

Limites quantitatives

Élément Limite
Opérateur statistique (par opérateur) Maximum de 5 000 000 de clés ; maximum de 512 Mo de mémoire
Taille par défaut de l'ensemble de résultats 100 lignes. Si l'instruction SQL la plus externe omet une clause LIMIT, LIMIT 100 est appliquée automatiquement.

Limites opérationnelles

Élément Limite
Type ARRAY Utilisez des UDF telles que contain ou notcontain pour les comparaisons et les requêtes. Les opérateurs =, <, > et IN ne sont pas pris en charge.
Type ARRAY avec GROUP BY La clause GROUP BY ne prend pas en charge les champs ARRAY. Utilisez UNNEST pour aplatir d'abord le tableau. Cela peut augmenter temporairement le volume de données — évaluez l'impact sur les performances avant de l'appliquer en production.
Type ARRAY avec JOIN La clause JOIN ne prend pas en charge les champs ARRAY. Utilisez MULTICAST pour distribuer d'abord le tableau. Cela peut augmenter temporairement le volume de données — évaluez l'impact sur les performances avant de l'appliquer en production.
Paramètres dynamiques Seules les constantes dans les expressions peuvent être remplacées. Les noms de champ, les noms de table et les valeurs LIMIT ne peuvent pas être remplacés.
Clause ORDER BY Doit être utilisée avec une clause LIMIT.
Opérateur UNION Seul UNION ALL est pris en charge. UNION (déduplication) n'est pas pris en charge. Les tables d'entrée doivent avoir des noms de champ, des types et des nombres identiques.
Requêtes de table récapitulative Les analyses complètes de table ne sont pas prises en charge. Spécifiez les clés primaires lors de l'interrogation d'une table récapitulative.
Requêtes de table enfant Les champs de la table enfant ne peuvent pas être renvoyés. N'utilisez pas SELECT * lors de l'interrogation des tables enfants.
Requêtes d'index DATE ou RANGE Les signes égaux (=) ne sont pas pris en charge. Utilisez plutôt la fonction QUERY — par exemple, QUERY('time', '[1, 10]').
Champs d'attribut Des attributs sont créés pour tous les champs par défaut. Les champs de type TEXT ou SHORT_TEXT ne peuvent pas être utilisés dans les expressions.

Références