HCL Commerce Version 9.1.7.0 or later

Usar la agregación de listas con Ingest

Puede emitir llamadas SQL para recuperar datos de base de datos desde dentro de la canalización NiFi. Esta información se convierte del formato tabular "2d" en el que la almacena la base de datos, a la cadena unidimensional que espera el proceso de Elasticsearch. Normalmente, esta agregación de la lista se lleva a cabo dentro de la base de datos, sin embargo, cada base de datos impone un límite sobre la longitud que puede tener una cadena devuelta; en el caso de DB2, por ejemplo, esta longitud es 32k. Si el SQL intenta serializar una serie más larga, se truncará.

Para evitar este problema, HCL Commerce Search proporciona una función a nivel de aplicación para realizar la serialización en lugar de hacer que la base de datos lo haga. Puede controlar este comportamiento utilizando una variable que puede establecer en el nivel de flujo o, como un conmutador global, en el nivel del enlace de reindexación o el enlace NRT. Esta variable es flow.database.listagg y el valor predeterminado es True. Si se establece en ReindexLink, NRTLink o DataloadLink significa definir esta propiedad de forma global a lo largo de todo el flujo de datos, mientras que al establecer esta propiedad contra un canal conector en su lugar, el alcance de la operación será solo contra esa etapa determinada.

En general, debería utilizar la función LISTAGG de la base de datos y solo desactivarla cuando se alcance el límite. Esto evita la sobrecarga innecesaria de realizar la agregación de listas dentro de la aplicación NiFi.