Vous regardez une version antérieure (v. /confluence/display/BM35/Problemes+de+recherche+et+indexation) de cette page.

afficher les différences afficher l'historique de la page

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »

Si vous constatez un dysfonctionnement de la recherche dans BlueMind vous pouvez en déterminer la cause avec la commande :

curl -XGET --silent 'http://localhost:9200/_cluster/health'

permet d'afficher l'état du cluster ElasticSearch, si le statut est 'green' tout va bien, s'il est 'red' cela signifie qu'il y a un problème au niveau d'Elasticsearch. Cette information remonte également dans la console de monitoring.

Plusieurs conditions peuvent empêcher le fonctionnement d'ElasticSearch :

  • une corruption des index : principalement à cause d'un manque d'espace disque, il faut au minimum 10% d'espace disque libre. Si le disque contenant les données d'ES (/var/spool/bm-elasticsearch) a manqué d'espace il est possible que les index de recherche soient corrompus, dans les logs ES, cela se traduit par une erreur lors du démarrage du service :

    [2017-01-26 20:06:54,764][WARN ][cluster.action.shard] [Bill Foster] [mailspool][0] received shard failed for [mailspool][0], node[PcC6eICxRAajmWioK1mhDA], [P], s[INITIALIZING], indexUUID 
    [IEJHQkOnTtOcdY0bMMIFRA], reason [master [Bill Foster][PcC6eICxRAajmWioK1mhDA][bluemind.exa.net.uk][inet[/82.219.13.101:9300]] marked shard as initializing, but shard is marked as failed, resend shard failure]
    [2016-01-26 20:06:55,828][WARN ][indices.cluster] [Bill Foster] [mailspool][0] failed to start shard
    org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [mailspool][0] failed to recover shard
            at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:287)
            at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:132)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:745)

    Il faut alors supprimer l'index  :

    cd /var/spool/bm-elasticsearch/data/bluemind-c68b34ff-ccf4-49f8-9456-e8db902e8f66/nodes/0/indices/
    service bm-elasticsearch stop
    rm -fr mailspool/
    service bm-elasticsearch start

    Puis lancer une nouvelle indexation depuis les 'tâches planifiées' > 'ReconstructMailSpoolIndexJob'

    Attention cependant, l'indexation des mails est une opération consommatrice en IO et il est préférable de lancer cette tâche en soirée ou en week-end.

  • une corruption du translog : cela peut se produire en cas crash du serveur ou de manque de mémoire, dans ce cas l'index général n'est pas corrompu et seul l'indexation des derniers documents non écrits sur le disque sera perdu. Les ES montrent

    service bm-elasticsearch stop
    rm -rf /var/spool/bm-elasticsearch/data/bluemind-5da5da65-b2e8-4b1e-afb2-f26792f66ac4/nodes/0/indices/mailspool/*/translog
    service bm-elasticsearch start

    L’exécution de la tâche 'ConsolidateMailSpoolIndexJob' va ré-indexer les mails manquants

La barre de recherche ne propose pas l'option pour rechercher dans tous les dossiers

C'est notamment le cas si vous avez effectué une migration des mails au niveau du système de fichier.

Cela signifie que l'index de recherche d'Elasticsearch n'existe pas, vous pouvez exécuter la tâche ReconstructMailSpoolIndexJob pour créer l'index et indexer l'ensemble des mails du serveur.

Il manque des résultats dans la recherche

En cas de problèmes temporaires avec le service d'indexation il est possible que certains mails envoyés et reçus pendant cette période n'aient pas été indexés, dans ce cas il suffit d’exécuter la tâche ConsolidateMailSpoolIndexJob qui va calculer la différence entre les mails au niveau IMAP et dans l'index et indexer uniquement les mails manquants.

Une erreur s'affiche lors d'une recherche

Cela peut provenir d'une incohérence entre la liste des dossiers au niveau IMAP et dans la base de données, l'action de maintenance 'check&repair' accessible depuis l'onglet Maintenance de la fiche utilisateur permet de reconstruire cette liste, une ré-indexation de la boite mail doit ensuite corriger le problème.

Une erreur s'affiche lors de l'accès à un mail trouvé dans une recherche

Il s'agit probablement d'un défaut d'indexation lorsque qu'un mail a été déplacé, l'action de maintenance 'Consolider la boite mail' accessible depuis l'onglet Maintenance de la fiche utilisateur permet de mettre à jour l'index de recherche.

  • Aucune étiquette