Tous les produits
Search
Centre de documentation

OpenSearch:Schéma d'application dans OpenSearch High-performance Search Edition

Dernière mise à jour :Sep 23, 2026

Un schéma d'application définit la structure de vos données pour l'indexation et la recherche. Lorsque vous chargez des données dans OpenSearch, elles sont d'abord stockées dans des tables de données hors ligne. Chaque table contient un ou plusieurs champs. Après traitement, les tables sont jointes pour former une table d'index, qui définit les attributs de recherche utilisés par le moteur de recherche pour construire les index et renvoyer les résultats.

Si vous utilisez plusieurs tables de données, spécifiez les champs de jointure avant le début du traitement des données.

Fonctionnement

Data source → Offline data tables → [Join on specified fields] → Index table → Search engine

Chaque champ d'une table de données correspond à un type de champ OpenSearch. Le type de champ détermine la manière dont les données sont indexées, comment elles peuvent être interrogées et quelles méthodes d'analyse s'appliquent.

Types de champs

OpenSearch High-performance Search Edition prend en charge les types de champs suivants, regroupés par objectif.

Recherche en texte intégral

Utilisez ces types pour les champs nécessitant une tokenisation et plusieurs méthodes d'analyse.

Type de champ Description
SHORT_TEXT Texte court. Les valeurs ne doivent pas dépasser 100 octets. Prend en charge plusieurs méthodes d'analyse.
TEXT Texte long. Prend en charge plusieurs méthodes d'analyse.

Correspondance exacte

Utilisez ces types pour les champs interrogés par valeur exacte — filtrage, tri ou jointure sur une chaîne précise.

Type de champ Description
LITERAL Constante de chaîne. Prend en charge uniquement la correspondance exacte.
LITERAL_ARRAY Tableau de constantes de chaînes. Chaque élément prend en charge uniquement la correspondance exacte.

Numérique

Type de champ Description
INT Entier 64 bits.
INT_ARRAY Tableau d'entiers 64 bits.
FLOAT Nombre à virgule flottante.
FLOAT_ARRAY Tableau de nombres à virgule flottante.
DOUBLE Nombre à virgule flottante.
DOUBLE_ARRAY Tableau de nombres à virgule flottante.
Si les champs de votre source de données sont de type FLOAT ou DOUBLE, convertissez-les en DECIMAL pour éviter les problèmes de précision des données.

Temporel

Type de champ Description
TIMESTAMP Entier non signé 64 bits représentant un horodatage. Correspond à DATETIME ou TIMESTAMP dans une source de données. Les valeurs sont automatiquement converties en millisecondes. Utilisez la fonction range pour filtrer les résultats par plage de temps.
Les champs de type INT peuvent également être mappés à un champ DATETIME ou TIMESTAMP dans une source de données. Les valeurs sont automatiquement converties en millisecondes. Utilisez la fonction range pour filtrer les résultats par plage de temps.

Géographique

Type de champ Description
GEO_POINT Constante de chaîne représentant une coordonnée géographique au format "Latitude value Longitude value".

Remarques d'utilisation

Types de tableaux

Les types de champs tableau (INT_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY, LITERAL_ARRAY) suivent le même modèle général :

  • Dans une source de données, mappez le champ à une colonne VARCHAR ou STRING. Utilisez le plug-in de traitement des données MultiValueSpliter pour le convertir.

  • Lors du chargement via l'API OpenSearch ou les SDK, envoyez le champ sous forme de tableau, et non de chaîne.

// Correct: array
String[] literal_array = {"Alibaba Cloud", "OpenSearch"};
Pour les champs DOUBLE_ARRAY dans les sources de données ApsaraDB RDS et PolarDB, seul VARCHAR est pris en charge (pas STRING). Pour MaxCompute, VARCHAR et STRING sont tous deux pris en charge.

Noms de champs réservés

Avertissement

N'utilisez pas ces noms pour vos propres champs. L'utilisation d'un nom réservé entraîne des échecs de chargement des données ou un comportement inattendu.

Noms réservés : service_id, ops_app_name, inter_timestamp, index_name, pk, ops_version, ha_reserved_timestamp, summary

Limites des valeurs de champ

Chaque type de champ impose des limites de plage de valeurs. Si une valeur se situe en dehors de la plage autorisée, une erreur de dépassement se produit ou la valeur est tronquée. Pour la liste complète, consultez la section « Limits on fields » de Limites.

Mappages des types de champs de la source de données

Utilisez ces tableaux pour mapper les champs de votre source de données aux types de champs OpenSearch.

Types de champs pris en charge par source de données

Source de données Types de champs pris en charge
ApsaraDB RDS TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, TIME, DATE, TIMESTAMP, VARCHAR
PolarDB TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, TIME, DATE, TIMESTAMP, VARCHAR
MaxCompute BIGINT, DOUBLE, BOOLEAN, DATETIME, STRING, DECIMAL, MAP, ARRAY, TINYINT, SMALLINT, INT, FLOAT, CHAR, VARCHAR, DATE, TIMESTAMP, BINARY, INTERVAL_DAY_TIME, INTERVAL_YEAR_MONTH, STRUCT

Référence de mappage des types de champs

Type OpenSearch ApsaraDB RDS PolarDB MaxCompute
INT BIGINT, TINYINT, SMALLINT, INTEGER BIGINT, TINYINT, SMALLINT, INTEGER BIGINT, TINYINT, SMALLINT, INT
INT_ARRAY VARCHAR, STRING (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter)
FLOAT FLOAT, NUMERIC, DECIMAL FLOAT, NUMERIC, DECIMAL FLOAT, DECIMAL
FLOAT_ARRAY VARCHAR, STRING (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter)
DOUBLE DOUBLE, NUMERIC, DECIMAL DOUBLE, NUMERIC, DECIMAL DOUBLE, DECIMAL
DOUBLE_ARRAY VARCHAR (via MultiValueSpliter) VARCHAR (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter)
LITERAL VARCHAR VARCHAR VARCHAR, STRING
LITERAL_ARRAY VARCHAR (via MultiValueSpliter) VARCHAR (via MultiValueSpliter) VARCHAR, STRING (via MultiValueSpliter)
SHORT_TEXT VARCHAR VARCHAR VARCHAR, STRING
TEXT VARCHAR VARCHAR VARCHAR, STRING
TIMESTAMP DATETIME, TIMESTAMP DATETIME, TIMESTAMP DATETIME, TIMESTAMP
GEO_POINT VARCHAR VARCHAR VARCHAR, STRING au format "lon lat", où lon est la longitude (plage : [-180, 180]) et lat est la latitude (plage : [-90, 90]), toutes deux de type DOUBLE, séparées par un espace

Créer un schéma d'application

OpenSearch propose quatre méthodes pour créer un schéma d'application. Choisissez en fonction de l'emplacement de vos données et du niveau de contrôle manuel souhaité.

Méthode Quand l'utiliser
Configurer une source de données Vos données se trouvent dans ApsaraDB RDS for MySQL, MaxCompute ou PolarDB for MySQL, et vous souhaitez qu'OpenSearch déduise automatiquement le schéma. Consultez Configurer une source de données ApsaraDB RDS for MySQL, Configurer une source de données MaxCompute, et Configurer une source de données PolarDB for MySQL.
Créer manuellement Vous souhaitez un contrôle total sur les types de champs, les méthodes d'analyse et les attributs d'index.
Utiliser un modèle Vous migrez une application existante et souhaitez réutiliser son schéma. Consultez Migrer un schéma d'application entre applications.
Charger un fichier Vous disposez d'un fichier de schéma prédéfini à importer. Consultez Créer un schéma d'application en chargeant un fichier.