Nextcloud + OCR + Full text search cassé ?

EVO

Administreur
Membre du personnel
25 Novembre 2019
9 641
1 943
293
/var/run/docker.sock
Hello,

Depuis quelques temps, je test l'OCR sur Nextcloud. Cela fonctionne bien. Je ne l'ai pas encore passé en auto, ni fait un tutoriel sur la mise en place mais cela ne devrais pas tarder ! Me reste encore un point à comprendre/résoudre ( d’où ce message ).

Pour les curieux qui passent par ici, l'OCR sur Nextcloud permet de faire de la reconnaissance de caractères dans les documents PDF. Cela peut permettre de réduire le poids des PDFs, mais surtout cela permet alors d'indexer le contenu, et de pouvoir faire des recherches globale, qui prendrons alors en compte le contenu des PDFs !

Attention : Ceci n'est pas un tutoriel d'installation configuration, il explique juste dans les grandes lignes mon installation et configuration. Je ferait un tutoriel sur le sujet quand j'aurai réussi a comprendre et résoudre ma problématique.

Dans mon conteneurs Nextcloud ( qui est sur base Linuxserver ), je rajoute les paquets suivants pour la prise en charge de l'apps :
apk add ocrmypdf
apk add tesseract-ocr-data-fra
apk add tesseract-ocr-data-eng

Pour cela, je modifie mon docker compose en rajoutant les variables d'environnement suivant dans le compose :
Code:
      - DOCKER_MODS=linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=ocrmypdf|tesseract-ocr-data-fra|tesseract-ocr-data-eng

Puis dans Nextcloud, j'install l'application https://github.com/R0Wi-DEV/workflow_ocr

et je configure le flow : https://github.com/nextcloud/fulltextsearch/wiki/Basic-Installation

Ensuite pour la recherche, il faut Elasticsearch, je créer donc dans ma stack un nouveau conteneur :
Code:
  elasticsearch:
    container_name: nextcloud-elastic
    restart: unless-stopped
    environment:
      - ELASTIC_PASSWORD=MOTDEPASSE
      - xpack.security.enabled=false
      - discovery.type=single-node
    mem_limit: 2048m
    ports:
      - '9200:9200'
    image: 'docker.elastic.co/elasticsearch/elasticsearch:8.10.0'

Ps : Attention la limite de mémoire est importante ! elasticsearch va consommer toutes la mémoire que vous lui offrez.

J'install les applications suivantes dans Nextcloud :
Full text search
Full text search - Elasticsearch Platform
Full text search - Files

Et je les configure :
1694720627732.png

Je force la première indexation sans probleme avec :
Code:
occ fulltextsearch:index

Malheuresement dans Nextcloud, quand je recherche un mot, il n'exploite pas ce qui est dans les PDFs. Pourtant c'est bien indexé.

Exemple, j'ai une facture ou le mot "CAILLEBOTI" apparait.

Si je fait une recherche Nextcloud il m'indique qu'il n'y a rien :
1694720772828.png

1694728572880.png
Par contre, si a l'intérieur du conteneur Nextcloud je lance la commande suivante ( curl "http://172.18.108.8:9200/my_index/_search?q=CAILLEBOTI" ), pour recherche dans ElasticSearch, alors il me sort des résultats, et je vois clairement ma facture " :

1694720990140.png

Alors, j'en suis là. Cela semble donc bien indexé, la lisaison est ok avec Nextcloud, puisque l'indexation fonctionne. Mais la recherche dans Nextcloud ne fonctionne pas.

Dans les logs, j'ai vu des erreurs indiquant que Circles était nécessaires, et il n'était pas actif chez moi. Il est donc maintenant actif, mais cela n'a pas résolu le probleme.

Si certains ont des pistes pour ce probleme :) Merci
 
Dernière édition:
Hello
Il n'y a pas plusieurs appli nextcloud pour exploiter le fullsearch ?
Je ne l'utilise pas pour le moment, mais de ce que j'avais lu il y a plusieurs choses à installer.
Peut être une config sur l'un de ces "modules" qui ne prend pas en compte l'OCR ?
 
Salut,
Merci de ta réponse, effectivement voir mon petit passage "méthode d'installation"

J'ai installé / configuré :
Full text search
Full text search - Elasticsearch Platform
Full text search - Files

Mais ca veut pas :(

Ce matin, j'ai essayé de downgrade elasticsearch sous 8.6.0, car j'ai vu que certains confirmé le fonctionnement avec cette config sur le github, mais cela ne change rien.
 
My bad.
Tu as regardé sur les bugtracker des projets pour les trois appli fullsearch s'il y avait quelque chose en rapport ?
Dans tes logs rien en rapport avec ça hormis Circle ?
 
Tu as regardé sur les bugtracker des projets pour les trois appli fullsearch s'il y avait quelque chose en rapport ?
j'ai trouvé uniquement un rapport ou la personne n'a pas de résultat affiché, mais le nombres de résultat est correct en haut. Moi j'ai vraiment rien, 0 résultat affiché, et 0 résultat trouvé :(

Dans tes logs rien en rapport avec ça ?
Uniquement un truc un rapport avait une dépendance necessaire a Circles, message que je n'ai plus depuis qu'il est actif. Rien d'autres
 
Linuxserver indiquait qu'ils ne supportaient pas/pas bien certaines fonctionnalités comme collabora, par le plus grand des hasard full text search ne ferait pas parti de ces fonctionnalités mal supportées ?
Ils sont pas mal actifs aussi sur un forum Truenas, il y a peut être un cas similaire au tien dessus ?
(Désolé si ça aide pas trop mais je cherche des pistes)
Message automatiquement fusionné :

Ici ils parlent d'un plugin pour elasticsearch mais j'ai l'impression que c'est pas tout à fait le même cas que toi:
nextcloud-es-tesseract
 
De ce que j'ai compris ce plugins c'est pour extraire du texte des images, mais le fait deja avec https://github.com/R0Wi-DEV/workflow_ocr et cela marche tres bien. Mon elasticsearch est bien rempli avec les données des PDFs, mais rien de visible dans la recherche nextcloud. C'est pourtant visible lors d'une recherche en ligne de commande directement dans le conteneur Nextcloud vers ElasticSearch

Bon, je tente : https://github.com/nextcloud/fulltextsearch/issues/770
 
Dernière édition:
Hello, j'ai eu 2 maj de proposée :
Full text search 27.0.2
Full text search - Elasticsearch Platform 27.0.4

Apres update ! Cela fonctionne 🥳
 
Bonne nouvelle ça ! Tu penses que c'est suite à ton ticket ou ce serait un effet de bord (bénéfique pour le coup) dû à la mise à jour ?
 
En tout cas, c'est vraiment pratique, cela permet de rechercher une référence ou dénomination parmis mes factures PDFs par exemple !
 
En tout cas, c'est vraiment pratique, cela permet de rechercher une référence ou dénomination parmis mes factures PDFs par exemple !
Ça a l'air super pratique oui avec elasticsearch.
Je pense l'implémentater aussi, sans pour autant aller jusqu'à la recherche ocr, mais au moins pour pouvoir faire une recherche dans les synchro de documents.
J'aillais demander également si tu utilisais paperless en complément, mais j'ai ma réponse ^^
De ce que j'en lis sur la Doc, paperless pousse plus loin l'archivage avec les tags, ça me semble être un moyen complémentaire/supplémentaire de trier des documents.

Je testerai et j'essaierai de faire un retour mais c'est pas pour tout de suite, le 12100 est toujours pas en service 🤦
 
  • J'aime
Réactions: EVO