Optimisation du service de traitement du langage naturel

Vous pouvez configurer diverses fonctions NLP pour optimiser ses performances et éviter les retards dans la réponse.

Il se peut que vous souhaitiez plutôt utiliser dans certaines circonstances le mode Basic, par exemple quand votre langue n'est pas prise en charge par CoreNLP, quand vous souhaitez réduire la taille de vos conteneurs Query ou réduire la mémoire de segment requise pour le conteneur Query dans l'environnement d'exécution. Le mode NLP et sa portée sont contrôlés par la variable d'environnement NLP_ENABLE_LANGUAGE_CODE ou la clé Vault nlpEnableLanguageCode. Cette variable prend en charge une liste de huit langues maximum grâce à un module Stanford CoreNLP. Si vous ajoutez des langues au-delà des huit prises en charge par CoreNLP, comme décrit dans Ajout de langues au service NLP, les langues supplémentaires sont évaluées par le module Basic NLP.

Pour plus d'informations sur l'Basic NLP, voir Considérations lors de l'utilisation du Basic Natural Language Processing.

HCL Commerce Version 9.1.13.0 or later

Blocage du service Query lors de l'initialisation NLP

Lorsque le service Query démarre, il commence l'initialisation du traitement du langage naturel. Cela peut prendre plusieurs minutes, et pendant ce temps, des appels peuvent être effectués vers le service Search. Des résultats de recherche incohérents peuvent être renvoyés lorsqu'une recherche est effectuée sur un moteur de requête d'initialisation, puis répétée et que la chaîne de recherche est envoyée à un service NLP déjà en cours d'exécution. Cela peut se produire si vous exécutez ou démarrez plusieurs services Query et qu'il s'agit d'un comportement indésirable.

Vous pouvez empêcher le service Query de servir des données actives à partir d'un cache partiellement initialisé. Ce bloc fait en sorte qu'une vérification de nœud final /health du service Query entièrement initialisé renvoie une réponse Service non disponible (code de statut http 503) jusqu'à ce que le service NLP soit entièrement initialisé. Une fois qu'il est entièrement initialisé, le service Query renvoie un statut http 200 en réponse.

Vous pouvez bloquer de manière sélective différents environnements en fonction du type d'environnement et du nom de l'environnement. Les types d'environnement de création et d'environnement opérationnel sont vérifiés, puis le nom de l'environnement est configuré dans la configuration du composant. Par défaut, le service Query effectuera cette action pour les environnements prod et preprod, mais vous pouvez inclure d'autres environnements au niveau du nœud final /configuration indiqué ci-dessous. Cette configuration vérifiera la variable d'environnement ENVIRONMENT pour s'assurer de l'existence des environnements.
Note: Si la variable "value" est vide, le bloqueur est désactivé.
Utilisez la méthode de requête POST sur le nœud final /configuration si c'est la première fois que vous effectuez cette modification de la configuration. Ensuite, utilisez la méthode de requête PATCH pour effectuer des mises à jour. Redémarrez le service Query après avoir apporté des modifications.
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

Définition de l'intervalle d'actualisation NLP

L'intervalle d'actualisation NLP définit le temps entre les requêtes de l'objet de traitement du langage naturel de Stanford Core pour les données mises à jour pour la classification Reconnaissance d'entité nommée. Si une classification NER personnalisée est ajoutée ou que des données d'index sont mises à jour avec le nom de catégorie, le nom du fabricant ou les valeurs d'attribut, elles seront identifiées par le service NLP après la mise à jour des valeurs NER par le travail planifié, qui met à jour les détails NER dans l'objet NLP. Par défaut, l'intervalle d'actualisation de NLP est défini sur 30 minutes. Vous pouvez définir cette durée d'intervalle d'actualisation à l'aide de la variable d'environnement NLP_REFRESH_INTERVAL.