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](../../base/images/91130plus.png)
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
.
/configuration
que se muestra a continuación. Esta configuración comprobará la variable de entorno ENVIRONMENT para verificar que los entornos existen.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](../../base/images/91130plus.png)
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.