Optimización del servicio de procesamiento del lenguaje natural

Puede configurar varias características de NLP para optimizar su rendimiento y evitar retrasos en el servicio de respuestas.

En determinadas circunstancias, es posible que desee utilizar el modo Básico, por ejemplo, cuando CoreNLP no admita su idioma, porque desea reducir el tamaño de sus contenedores de consultas o reducir la memoria de almacenamiento dinámico necesaria para el contenedor de consultas en el entorno de tiempo de ejecución. El modo NLP y su ámbito están controlados por la variable de entorno NLP_ENABLE_LANGUAGE_CODE o la clave de Vault nlpEnableLanguageCode. Esta variable admite una lista de hasta ocho idiomas compatibles con un módulo Stanford CoreNLP. Si añade idiomas adicionales a los ocho admitidos por CoreNLP, como se describe en Adición de idiomas al servicio NLP, los idiomas adicionales los evalúa el módulo Basic NLP.

Para obtener más información sobre Basic NLP, consulte Consideraciones al usar Basic Natural Language Processing.

HCL Commerce Version 9.1.13.0 or later

Bloqueo del servicio de consulta durante la inicialización de NLP

Cuando se inicia el servicio de consulta, se da comienzo a la inicialización del proceso de lenguaje natural. Esto puede tardar varios minutos, y durante ese tiempo se pueden realizar invocaciones al servicio de búsqueda. Es posible que se devuelvan resultados de búsqueda incoherentes cuando se realiza una búsqueda en un motor de consulta que se está inicializando y, a continuación, se repite y la cadena de búsqueda se envía a un servicio NLP que ya se está ejecutando. Esto puede ocurrir si está ejecutando o iniciando varios servicios de consulta, y se trata de un comportamiento no deseado.

Puede bloquear el servicio de consulta para que no proporcione datos en tiempo real de una memoria caché parcialmente inicializada. Este bloqueo provoca que una comprobación de endpoint /health del un servicio de consulta completamente inicializado devuelva una respuesta de servicio no disponible (código de estado http 503) hasta que el servicio NLP se inicialice completamente. Una vez se ha inicializado, el servicio de consulta devolverá como respuesta un estado http 200.

Puede bloquear de forma selectiva diferentes entornos dependiendo del tipo de entorno y del nombre del entorno. Se comprueban los tipos de entorno de creación y real y, a continuación, el nombre de entorno establecido en la configuración del componente. De forma predeterminada, el servicio de consulta realizará esta acción para los entornos prod y preprod, pero puede incluir otros entornos en el endpoint /configuration que se muestra a continuación. Esta configuración comprobará la variable de entorno ENVIRONMENT para verificar que los entornos existen.
Note: Si la variable "value" está vacía, el bloqueador estará inhabilitado.
Utilice el método de solicitud POST en el endpoint /configuration si es la primera vez que realiza este cambio de configuración. Posteriormente, utilice el método de solicitud PATCH para realizar actualizaciones. Reinicie el servicio de consulta después de realizar cualquier cambio.
PATCH/POST http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth { "extendedconfiguration": { "configgrouping": [ { "name": "SearchConfiguration", "property": [ { "name": "LockQueryServiceForNLPIntialization", "value": "prod,preprod,dev" } ] } ] } } 
HCL Commerce Version 9.1.13.0 or later

Establecer el intervalo de refresco de NLP

El intervalo de refresco de NLP define el tiempo existente entre las consultas al objeto de proceso de lenguaje natural Stanford Core para los datos actualizados de la clasificación de reconocimiento de entidades con nombre. Si se añade alguna clasificación NER personalizada o se actualizan datos de índice con nombre de categoría, nombre de fabricante o valores de atributo, el servicio NLP los identificará después de que el trabajo planificado actualice los valores NER, que actualiza los detalles de NER en el objeto NLP. El intervalo de refresco predeterminado de NLP es de 30 minutos. Puede establecer este intervalo de refresco mediante la variable de entorno NLP_REFRESH_INTERVAL.