Todos los productos
Search
Centro de documentos

OpenSearch:Descripción general de los plugins de origen de datos

Última actualización: Sep 04, 2026

Al sincronizar datos desde un origen hacia OpenSearch, es posible que los valores de los campos requieran transformación antes de la indexación; por ejemplo, dividir una cadena separada por comas en un arreglo o eliminar etiquetas HTML. Los plugins de procesamiento de datos gestionan estas transformaciones automáticamente durante la sincronización, por lo que no es necesario preprocesar los datos fuera de OpenSearch.

Importante

Los plugins de procesamiento de datos solo están disponibles cuando se sincronizan datos mediante un origen de datos configurado. Si carga datos a través de la operación de API o los SDK de OpenSearch, procese la información antes de cargarla.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Un origen de datos configurado para su aplicación de OpenSearch

  • Asignaciones de campos definidas entre las tablas de origen y las tablas de OpenSearch

Nota

Configure los plugins al establecer el origen de datos, no al definir el esquema de la aplicación. Los plugins solo están disponibles después de configurar un origen de datos.

Restricciones del origen de datos

Tenga en cuenta estas restricciones antes de configurar los plugins:

  • ApsaraDB RDS y PolarDB: Una tabla de OpenSearch puede asociarse con varias tablas de origen (admite fragmentación de base de datos y tablas).

  • MaxCompute: Una tabla de OpenSearch solo puede asociarse con una única tabla de origen. Para sincronizar datos desde varias tablas de origen de MaxCompute, primero combínelas en una sola tabla.

Plugins disponibles

OpenSearch proporciona cinco plugins para la transformación de campos durante la sincronización:

Plugin

Tipo de transformación

Función

JsonKeyValueExtractor

Extracción de JSON

Extrae el valor de una clave específica de un campo de origen con formato JSON

MultiValueSpliter

División de valores

Divide un campo de origen en varios valores mediante un delimitador

KeyValueExtractor

Extracción de pares clave-valor

Extrae claves y valores de campos de origen con pares clave-valor

StringCatenateExtractor

Concatenación de cadenas

Concatena valores de varios campos en una sola cadena

HTMLTagRemover

Eliminación de HTML

Elimina las etiquetas HTML del valor de un campo de origen

JsonKeyValueExtractor

Extrae el valor de una clave específica de un campo de origen con formato JSON y lo asigna al campo de destino. Solo es posible extraer el valor de la clave indicada.

Requisito de tipo: El tipo del valor extraído debe coincidir con el tipo del campo de destino. Si los tipos no coinciden, el valor extraído se descarta sin notificación.

Conversión de arreglos: Si el valor extraído es un arreglo JSON, se convierte automáticamente en un valor de campo de tipo Array.

Ejemplo

Valor del campo de origen:

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

Para extraer la clave title, configure el plugin para que apunte a title. El campo de destino recibirá "the content".

Para tipos Array:

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

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

MultiValueSpliter

Divide el valor de un campo de origen en varios valores mediante un delimitador específico y escribe los resultados en un campo de destino de tipo Array.

Requisito de tipo: El campo de destino debe ser de tipo Array.

Compatibilidad con delimitadores:

Tipo de delimitador

Cómo especificarlo

Caracteres no imprimibles comunes (por ejemplo, \t)

Escríbalos directamente

Caracteres no imprimibles poco comunes

Use la notación Unicode (por ejemplo, \u001D)

Delimitadores de varios caracteres (por ejemplo, ##, \t\t)

Escríbalos directamente

Ejemplo

Valor del campo de origen: 1,2,3

Especifique , como delimitador.

Para obtener más detalles sobre la configuración, consulte MultiValueSpliter configuration.

KeyValueExtractor

Extrae claves y valores específicos de un campo de origen con formato de pares clave-valor, y asigna los resultados al campo de destino. Solo pueden extraerse los valores de la clave especificada. No se requieren delimitadores.

Requisito de tipo: El tipo del valor extraído debe coincidir con el tipo del campo de destino. Si los tipos no coinciden, el valor se descarta sin notificación. Si un delimitador separa los valores extraídos, el campo de destino debe ser de tipo Array.

Comportamiento ante claves duplicadas: Si existen dos claves idénticas, solo se extrae el valor de la segunda.

Ejemplo

Valor del campo de origen: key1:value1,value2;key2:value3

Configuración:

  • Los pares clave-valor se separan con punto y coma (;): separa key1:value1,value2 de key2:value3

  • Las claves y los valores se separan con dos puntos (:): separa la clave del valor

  • Los valores se separan con comas (,): separa varios valores para una misma clave

StringCatenateExtractor

Concatena valores de varios campos de la tabla de destino en una sola cadena según un orden específico.

Requisito de tipo: Este plugin no puede concatenar campos de tipo INT. Se recomienda usar campos de tipo LITERAL.

Origen de los campos: Los campos deben provenir de la tabla de destino, no de la tabla de origen. Separe los nombres de los campos con comas (,).

Variable del sistema: Use $table para incluir el nombre de la tabla actual en la cadena concatenada. $table solo se completa cuando se configura un comodín de fragmentación de tablas.

Ejemplo

Para concatenar field1 y field2 con un guion bajo (_) como separador.

HTMLTagRemover

Elimina todas las etiquetas HTML del valor de un campo de origen. El campo de destino recibe únicamente el contenido en texto plano.

Ejemplo

Valor del campo de origen: <div id="copyright">OpenSearch</div>

Después del procesamiento, el valor del campo de destino será: OpenSearch

Limitaciones

Restricción

Detalle

Cargas mediante API y SDK

Los plugins no están disponibles. Procese los datos antes de cargarlos.

Origen de datos de MaxCompute

Una tabla de OpenSearch se asigna únicamente a una tabla de origen de MaxCompute

StringCatenateExtractor

No admite la concatenación de campos de tipo INT

JsonKeyValueExtractor y KeyValueExtractor

La falta de coincidencia entre el tipo del valor extraído y el campo de destino provoca la pérdida silenciosa de datos

Momento de configuración del plugin

Configúrelos solo después de establecer un origen de datos; no están disponibles durante la definición del esquema

Temas relacionados