Dépannage : échec des requêtes après configuration de Docker Compose
Dans l'environnement Docker Compose, il arrive d'exécuter une requête de recherche alors que l'index Elasticsearch n'est pas encore disponible. Lorsque l'index devient disponible, vous recevez le message d'erreur : ** java.io.IOException: Unable to open "custom-ner-en_US.txt" as class path, filename or UR".
Problème
- Vous déployez l'environnement HCL Commerce et interrogez la vitrine lorsque l'index est encore en cours de génération.
- L'erreur attendue est renvoyée :
Elasticsearch exception [type=index_not_found_exception, reason=no such index [auth.12001.catalog]] - Vous laissez la génération de l'index se terminer et interrogez à nouveau la vitrine. Cette fois, une erreur inattendue est renvoyée :
java.io.IOException: Unable to open "custom-ner-en_US.txt" as class path, filename or URL - Les recherches de catégories suivantes échouent et ne renvoient aucun résultat ou des résultats partiels uniquement.
Si vous utilisez Kubernetes pour configurer le système, ce problème peut être évité en configurant un verrou sur le service Query. Pour plus d'informations, voir Optimisation du service de traitement du langage naturel.
Solution
Lorsque vous déployez à l'aide du mot-clé keyref="wc"/> Docker Compose, vous démarrerez sans index dans Elasticsearch. Si Advanced NLP est activé, ce qui est le cas par défaut, le service Query tente de générer le fichier custom-ner-locale.txt basé sur les données d'index. Dans ce cas précis, il ne parvient pas à générer le fichier du fait de l'absence d'index. L'absence de ce fichier provoque le message d'erreur mentionné à l'Etape 3.
Pour résoudre ce problème, redémarrez le service Query. Une fois le processus d'indexation terminé et un fichier custom-ner-locale.txt créé, les requêtes suivantes réussiront.