HCL Commerce Version 9.1.11.0 or later

Migración de inventario basado en DOM a Elasticsearch

Si opera un sistema Gestión de pedidos distribuidos (DOM por sus siglas en inglés), puede importar sus datos a Elasticsearch.

About this task

Cuando HCL Commerce está integrado con un sistema DOM externo, tiene que haber una coordinación considerable para garantizar que los estados de cumplimiento de pedidos, los recuentos de inventario y la fijación de precios se registran de forma coherente en ambos sistemas. El servicio de introducción predeterminado no viene con una canalización DOM incorporada, pero puede modificar fácilmente una de las canalizaciones predeterminadas para comunicarse con el sistema DOM. El servicio de introducción se ha diseñado específicamente para estos escenarios, por lo que puede seguir el conjunto estándar de pasos para crear y configurar un conector, con alguna variación, para habilitar el soporte de Ingest para el sistema DOM.

Procedure

  1. Cree un conector. Para crear un conector mediante el servicio Ingest, use la siguiente API: http://hostname:30800/swagger-ui/index.html?url=/v3/api-docs&validatorUrl=#/Create%20Connector%20Configuration/createConnectorPara obtener más información, consulte Crear un conector de servicio NiFi.
    1. Desde la interfaz de usuario de Swagger, diríjase a la Configuración del conector > POST: /connectors API.
    2. Pulse Probar.
    3. Utilice el código personalizado para el cuerpo de la API. Por ejemplo:
      
      {
         "name":"custom",
         "description":"This is the connector for the custom processing",
         "pipes":[
            {
               "name":"_Template-Schema"
            },
            {
               "name":"_Template-Groovy-DatabaseETL",
               "properties":[
                  {
                     "name":"Database Driver Location(s)",
                     "value":"${AUTH_JDBC_DRIVER_LOCATION}",
                     "scope":{
                        "name":"Database Connection Pool",
                        "type":"CONTROLLER_SERVICE"
                     }
                  },
                  {
                     "name":"Database Driver Class Name ",
                     "value":"${AUTH_JDBC_DRIVER_CLASSNAME}",
                     "scope":{
                        "name":"Database Connection Pool",
                        "type":"CONTROLLER_SERVICE"
                     }
                  },
                  {
                     "name":"Database Connection URL",
                     "value":"${AUTH_JDBC_URL}",
                     "scope":{
                        "name":"Database Connection Pool",
                        "type":"CONTROLLER_SERVICE"
                     }
                  },
                  {
                     "name":"Database User",
                     "value":"${AUTH_JDBC_USER_NAME}",
                     "scope":{
                        "name":"Database Connection Pool",
                        "type":"CONTROLLER_SERVICE"
                     }
                  },
                  {
                     "name":"Password",
                     "value":"${AUTH_JDBC_USER_PASSWORD}",
                     "scope":{
                        "name":"Database Connection Pool",
                        "type":"CONTROLLER_SERVICE"
                     }
                  }
               ]
            },
           {"name":"Terminal"}
         ]
      }
      }
      }
      
    4. Pulse Ejecutar.

    Para obtener más información sobre la personalización de conectores predeterminados, consulte Ampliación de los conectores Ingest.

  2. Configure el conector para aceptar datos del sistema DOM. Con las variaciones que se describen a continuación, puede seguir los pasos especificados en la guía de aprendizaje Configurar el conector en NiFi.
    1. Siga el procedimiento hasta el paso 1.e. En el paso 1.f, establezca el valor como inventario y continúe con el procedimiento en el paso 2.b.
    2. En el paso 2.b, utilice lo siguiente como contenido de replacement value.
      {
         "properties":{
            "custom":{
               "properties":{
      			 "customInventory":{
                     "properties": {
                              "id": {
                                  "type": "keyword",
                                  "store": true
                              },
                              "status": {
                                  "type": "keyword",
                                  "store": true
                              }
                          }
                  }
               }
            }
         }
      }
      
    3. Efectúe una doble pulsación en Establecer nombre de índice. Seleccione la pestaña propiedades y cambie el valor de index.name a ${environment.name}.inventory.
    4. Siga el procedimiento. Después de haber seleccionado el procesador para modificar sus valores en el paso ../../tutorials/tutorial/tsd_connectorconfigure_elastic.html#task_n3x_cbg_smb__modcustomsql, establezca index.name como inventario en el paso ../../tutorials/tutorial/tsd_connectorconfigure_elastic.html#task_n3x_cbg_smb__modindexname.
    5. Actualice el código SQL tal como se describe en el paso ../../tutorials/tutorial/tsd_connectorconfigure_elastic.html#task_n3x_cbg_smb__updateingestsql con la consulta proporcionada en el archivo query.txt.
    6. Siga el procedimiento. Después de haber seleccionado el procesador para modificar sus valores en el paso ../../tutorials/tutorial/tsd_connectorconfigure_elastic.html#task_n3x_cbg_smb__processorproperties, sustituya el código del paso ../../tutorials/tutorial/tsd_connectorconfigure_elastic.html#task_n3x_cbg_smb__updateprocessorproperties por el contenido del archivo groovy_script.txt. Continúe con el procedimiento a través de los pasos 5 y 6.
  3. En lugar de conectarse a la canalización producto, conecte las canalizaciones personalizadas a la canalización auth.inventory, como en la captura de pantalla de ejemplo.

  4. Cree el índice.
  5. Verifique que los datos se han importado. Para ayudarle, se proporciona un ejemplo en el archivo index_data.txt que muestra cómo se representan los datos en el índice de inventario.
    Puede ejecutar una consulta de Elasticsearch para verificar que los datos añadidos se pueden recuperar. Puede encontrar una consulta de ejemplo en el archivo sample_elastic_query.txt. Sustituya el ID de entrada de catálogo adecuado en la consulta para ver los resultados.

    Si se necesita más configuración, puede seguir los pasos de Crear la personalización en NiFi según sea necesario.

Results

Si la configuración es correcta, los datos basados en DOM deben crearse y recuperarse en el índice de Elasticsearch.