Tous les produits
Search
Centre de documentation

OpenSearch:Schéma d'application

Dernière mise à jour :Aug 10, 2026

Schéma d'application

Les données poussées vers une instance Industry Algorithm Edition sont d'abord stockées dans des tables de données hors ligne. Définissez plusieurs tables avec des champs de clé étrangère spécifiques et appliquez des plugins de traitement des données. Après traitement, les tables sont jointes en une seule table d'index qui définit les attributs de recherche utilisés par le moteur pour construire les index et exécuter les requêtes.

Champs de table de données

Les tables de données servent à l'importation des données. Les exigences relatives aux types de champs varient selon le plugin de traitement des données. Pour plus d'informations sur les plages de valeurs des champs, consultez la section « Limites des champs » dans Limites. Les valeurs situées en dehors de la plage spécifiée provoquent un dépassement ou une troncature ; veillez donc à sélectionner le type de champ approprié.

Type

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.

LITERAL

Littéral de chaîne. Ne prend en charge que la correspondance exacte.

LITERAL_ARRAY

Tableau de littéraux de chaîne. Chaque élément ne prend en charge que la correspondance exacte.

SHORT_TEXT

Texte court. Doit être inférieur à 100 octets. Prend en charge plusieurs méthodes de tokenisation.

TEXT

Texte long. Prend en charge plusieurs méthodes de tokenisation.

TIMESTAMP

Entier non signé 64 bits. Données d'horodatage.

GEO_POINT

Littéral de chaîne. Champ de longitude et latitude au format : « longitude latitude ».

OBJECT

Représente un tableau d'objets JSON. Le stockage est aplati et les limites des objets sont perdues.

NESTED

Représente un tableau d'objets JSON. Le stockage des documents principaux et secondaires est indépendant et l'intégrité des objets est préservée.

Remarques sur les mots réservés :

  • Les mots réservés suivants ne peuvent pas être utilisés comme noms de champs : ['service_id', 'ops_app_name', 'inter_timestamp', 'index_name', 'pk', 'ops_version', 'ha_reserved_timestamp', 'summary'].

Remarques sur le type ARRAY :

  • Pour les champs de type ARRAY, mappez-les vers un champ de type chaîne (tel que VARCHAR ou STRING) depuis la source de données lors du mappage des champs, puis utilisez un plugin de traitement des données pour analyser le champ de la source de données. Pour plus d'informations, consultez Plugins de traitement des données.

  • Si vous poussez un champ de type ARRAY à l'aide d'une API ou d'un SDK, poussez-le en tant que tableau, et non en tant que chaîne. Par exemple : String[] literal_array = {"Alibaba Cloud","OpenSearch"};

Remarques sur le champ d'horodatage :

  • Les champs INT et TIMESTAMP peuvent être mappés vers un champ datetime ou timestamp dans la source de données. Les valeurs sont automatiquement converties en millisecondes. Utilisez une requête range pour filtrer et récupérer les résultats par intervalle de temps.

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

Source de données

Types de champs pris en charge

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 (anciennement connu sous le nom d'ODPS)

BIGINT,DOUBLE,BOOLEAN,DATETIME,STRING,DECIMAL,MAP,ARRAY,TINYINT,SMALLINT,INT,FLOAT,CHAR,VARCHAR,DATE,TIMESTAMP,BINARY,INTERVAL_DAY_TIME,INTERVAL_YEAR_MONTH,STRUCT

Mappages entre les types de champs des tables Industry Algorithm Edition et des tables de base de données

Table Industry Algorithm Edition

Table RDS

Table PolarDB

Table MaxCompute

INT

BIGINT,TINYINT,SMALLINT,INTEGER

BIGINT,TINYINT,SMALLINT,INTEGER

BIGINT,TINYINT,SMALLINT,INT

INT_ARRAY

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

FLOAT

FLOAT,NUMERIC,DECIMAL

FLOAT,NUMERIC,DECIMAL

FLOAT,DECIMAL

FLOAT_ARRAY

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

DOUBLE

DOUBLE,NUMERIC,DECIMAL

DOUBLE,NUMERIC,DECIMAL

DOUBLE,DECIMAL

DOUBLE_ARRAY

Types de chaîne, tels que VARCHAR. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

LITERAL

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR et STRING.

LITERAL_ARRAY

Types de chaîne, tels que VARCHAR. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

Types de chaîne, tels que VARCHAR et STRING. Utilisez le plugin de traitement des données MultiValueSpliter pour transformer les données.

SHORT_TEXT

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR et STRING.

TEXT

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR et STRING.

TIMESTAMP

Type datetime ou timestamp.

Type datetime ou timestamp.

Type datetime ou timestamp.

GEO_POINT

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR.

Types de chaîne, tels que VARCHAR et STRING, au format lon lat. lon représente la longitude et lat représente la latitude. Les deux valeurs doivent être de type double et sont séparées par un espace. La plage de valeurs pour lon est [-180, 180] et la plage de valeurs pour lat est [-90, 90].

Remarque :

  • Si un champ de source de données est de type FLOAT ou DOUBLE, modifiez son type en DECIMAL. Sinon, des problèmes de précision peuvent survenir.

Méthodes de création d'un schéma d'application

Industry Algorithm Edition propose quatre méthodes pour créer un schéma d'application :

  1. Créer à partir d'une source de données (RDS, MaxCompute, ou PolarDB).

  2. Créer manuellement (consultez la section Configurer les jointures de tables ci-dessous).

  3. Créer à partir d'un modèle.

  4. Créer en téléchargeant un document.

Configurer les jointures de tables

Pour configurer les jointures de tables, créez manuellement un schéma d'application. L'exemple suivant utilise deux tables : main (la table principale) et test_tb_1 (la table secondaire).

  1. Connectez-vous à la console OpenSearch. Sur la page Ha3 engine, recherchez l'application dans la liste des applications et cliquez sur Configure dans la colonne Actions.

  2. Sélectionnez la table principale et définissez sa clé primaire.

    image

  3. Définissez la clé primaire de la table secondaire.

    image

  4. Définissez l'association entre les tables principale et secondaire. Cette configuration s'effectue dans la table principale.

    image

Remarque
  • Pour plus d'informations sur les associations de données entre tables principales et secondaires prises en charge par Industry Algorithm Edition, consultez Créer des jointures de tables.

  • Seuls les champs de type int ou literal peuvent être utilisés comme champs de clé étrangère.

  • Lorsque vous joignez une table principale et une table secondaire, les champs de jointure doivent avoir le même type de données. Par exemple, si un champ est de type int, l'autre doit également être de type int. Si un champ est de type literal, l'autre doit également être de type literal.

  • Lorsque vous joignez une table secondaire à une table principale, vous devez utiliser la clé primaire de la table secondaire pour effectuer la jointure avec un champ de la table principale. Vous ne pouvez pas utiliser un champ non clé primaire de la table secondaire pour la jointure.