Tous les produits
Search
Centre de documentation

OpenSearch:Présentation des plug-ins de source de données

Dernière mise à jour :Aug 10, 2026

Lors de la synchronisation des données d'une source vers OpenSearch, il peut s'avérer nécessaire de transformer les valeurs des champs avant l'indexation, par exemple pour scinder une chaîne délimitée par des virgules en un tableau ou supprimer les balises HTML. Les plug-ins de traitement des données appliquent ces transformations automatiquement durant la synchronisation, ce qui dispense de tout prétraitement externe à OpenSearch.

Important

Les plug-ins de traitement des données ne sont disponibles que lors de la synchronisation via une source de données configurée. Si vous importez des données via l'API ou les SDK OpenSearch, traitez-les avant l'importation.

Prérequis

Avant de commencer, vérifiez les points suivants :

  • Une source de données est configurée pour votre application OpenSearch.

  • Des mappages de champs sont définis entre vos tables sources et vos tables OpenSearch.

Remarque

Configurez les plug-ins lors de la configuration de la source de données, et non lors de la définition du schéma de l'application. Les plug-ins ne deviennent disponibles qu'après la configuration d'une source de données.

Contraintes relatives aux sources de données

Tenez compte des contraintes suivantes avant de configurer les plug-ins :

  • ApsaraDB RDS et PolarDB : Une table OpenSearch peut être associée à plusieurs tables sources (prend en charge le partitionnement de base de données et de table).

  • MaxCompute : Une table OpenSearch ne peut être associée qu'à une seule table source. Pour synchroniser des données depuis plusieurs tables sources MaxCompute, fusionnez-les d'abord en une seule table.

Plug-ins disponibles

OpenSearch propose cinq plug-ins pour transformer les champs lors de la synchronisation :

Plug-in Type de transformation Fonctionnalité
JsonKeyValueExtractor Extraction JSON Extrait la valeur d'une clé spécifiée depuis un champ source au format JSON
MultiValueSpliter Division de valeurs Divise un champ source en plusieurs valeurs à l'aide d'un délimiteur
KeyValueExtractor Extraction clé-valeur Extrait les clés et les valeurs depuis des champs source au format paire clé-valeur
StringCatenateExtractor Concaténation de chaînes Concatène les valeurs de plusieurs champs en une seule chaîne
HTMLTagRemover Suppression de balises HTML Supprime les balises HTML de la valeur d'un champ source

JsonKeyValueExtractor

Ce plug-in extrait la valeur d'une clé spécifiée depuis un champ source au format JSON et la mappe au champ de destination. Il n'extrait que la valeur de la clé indiquée.

Exigence de type : Le type de la valeur extraite doit correspondre au type du champ de destination. En cas d'incompatibilité, la valeur extraite est ignorée sans erreur.

Conversion en tableau : Si la valeur extraite est un tableau JSON, elle est automatiquement convertie en valeur de champ de type Array.

Exemple

Valeur du champ source :

{"title": "the content", "body": "the content"}

Pour extraire la clé title, configurez le plug-in pour cibler title. Le champ de destination reçoit alors "the content".

Pour les types Array :

  • Source LITERAL_ARRAY : {"tags": ["a", "b", "c"]}

  • Source INT_ARRAY : {"tags": [1, 2, 3]}

MultiValueSpliter

Ce plug-in divise la valeur d'un champ source en plusieurs valeurs à l'aide d'un délimiteur spécifié, puis écrit les résultats dans un champ de destination de type Array.

Exigence de type : Le champ de destination doit être de type Array.

Prise en charge des délimiteurs :

Type de délimiteur Méthode de spécification
Caractères non imprimables courants (par ex., \t) Saisir directement
Caractères non imprimables rares Utiliser la notation Unicode (par ex., \u001D)
Délimiteurs multicharactères (par ex., ##, \t\t) Saisir directement

Exemple

Valeur du champ source : 1,2,3

Spécifiez , comme délimiteur.

Pour plus de détails sur la configuration, consultez Configuration de MultiValueSpliter.

KeyValueExtractor

Ce plug-in extrait les clés et valeurs spécifiées depuis un champ source au format paires clé-valeur, et mappe les résultats au champ de destination. Il n'extrait que les valeurs de la clé indiquée. Aucun délimiteur n'est requis.

Exigence de type : Le type de la valeur extraite doit correspondre au type du champ de destination. En cas d'incompatibilité, la valeur est ignorée sans erreur. Si un délimiteur sépare les valeurs extraites, le champ de destination doit être de type Array.

Comportement en cas de doublon de clé : Si deux clés identiques existent, seule la valeur de la seconde clé est extraite.

Exemple

Valeur du champ source : key1:value1,value2;key2:value3

Configuration :

  • Les paires clé-valeur sont séparées par des points-virgules (;) : sépare key1:value1,value2 de key2:value3

  • Les clés et les valeurs sont séparées par des deux-points (:) : sépare la clé de la valeur

  • Les valeurs sont séparées par des virgules (,) : sépare plusieurs valeurs pour une même clé

StringCatenateExtractor

Ce plug-in concatène les valeurs de plusieurs champs de la table de destination en une seule chaîne, selon un ordre spécifié.

Exigence de type : Ce plug-in ne peut pas concaténer des champs de type INT. Nous vous recommandons d'utiliser des champs de type LITERAL.

Source des champs : Les champs doivent provenir de la table de destination, et non de la table source. Séparez les noms de plusieurs champs par des virgules (,).

Variable système : Utilisez $table pour inclure le nom de la table actuelle dans la chaîne concaténée. $table n'est renseigné que lorsqu'un caractère générique de partitionnement de table est configuré.

Exemple

Concaténez field1 et field2 avec un séparateur de soulignement (_).

HTMLTagRemover

Ce plug-in supprime toutes les balises HTML de la valeur d'un champ source. Le champ de destination reçoit le contenu en texte brut.

Exemple

Valeur du champ source : <div id="copyright">OpenSearch</div>

Après traitement, la valeur du champ de destination est : OpenSearch

Limitations

Contrainte Détail
Importations via API et SDK Les plug-ins ne sont pas disponibles. Traitez les données avant l'importation.
Source de données MaxCompute Une table OpenSearch correspond à une seule table source MaxCompute
StringCatenateExtractor Ne peut pas concaténer des champs de type INT
JsonKeyValueExtractor et KeyValueExtractor Une incompatibilité de type entre la valeur extraite et le champ de destination entraîne une perte de données silencieuse
Moment de la configuration du plug-in Configurez uniquement après avoir configuré une source de données ; non disponible lors de la définition du schéma

Rubriques connexes