Aller au contenu principal
Gaprod

Recherche plein texte Nextcloud : retrouver ses fichiers en 2026

Billy RousseauFondateur de Gaprod9 min read

La recherche plein texte Nextcloud peut-elle retrouver une référence cachée dans un PDF ou une phrase au milieu d'un document en 2026 ? Oui, mais pas avec l'application Files seule. Il faut assembler un fournisseur de contenu, le cadre Full Text Search et une plateforme d'indexation externe.

Ce tutoriel explique cette architecture, la préparation d'Elasticsearch, le premier index et les tests à effectuer. Il traite aussi les PDF scannés, les droits et les pannes courantes. Pour replacer la recherche parmi le stockage, le partage et les autres applications, commencez par le guide complet de Nextcloud.

Comment fonctionne la recherche plein texte Nextcloud ?

Le projet officiel sépare la chaîne en trois rôles. L'application fulltextsearch orchestre les fournisseurs et la plateforme de recherche. files_fulltextsearch parcourt les fichiers des utilisateurs et fournit leur contenu. Une application de plateforme, comme fulltextsearch_elasticsearch, transmet les documents au moteur d'indexation et exécute les requêtes.

Elasticsearch n'ouvre donc pas seul le répertoire de données Nextcloud. Le fournisseur prépare un document d'index avec son identifiant, son propriétaire, ses droits, son titre et le contenu extrait. Le cœur l'envoie ensuite à la plateforme sélectionnée. Lors d'une recherche, la plateforme renvoie les résultats que l'interface Nextcloud peut présenter à l'utilisateur.

ComposantRôleVérification indispensable
fulltextsearchCoordonne l'indexation et la rechercheVersion compatible avec Nextcloud
files_fulltextsearchExtrait les fichiers et leurs informationsFormats et chemins du corpus test
fulltextsearch_elasticsearchRelie Nextcloud à ElasticsearchClient compatible avec le serveur
ElasticsearchStocke et interroge l'indexAccès réseau, espace et sécurité
Tâche d'indexationAjoute et actualise les documentsExécution initiale et suivi des erreurs

Cette séparation explique pourquoi l'installation d'une seule application ne suffit pas. Elle permet aussi d'identifier une panne : le fournisseur peut échouer à lire le document, le cœur peut bloquer sur une configuration, ou le moteur peut refuser l'indexation.

Un index n'est pas une seconde GED

L'index accélère la recherche, mais les fichiers originaux, les partages et les versions restent dans Nextcloud. Pour organiser le cycle de vie documentaire, consultez le guide Nextcloud comme GED.

Quels prérequis vérifier avant l'installation ?

Relevez d'abord la version exacte de Nextcloud. Dans l'App Store, contrôlez qu'une version stable des trois applications existe pour cette branche. Ne forcez pas une archive prévue pour une autre version. Vérifiez ensuite la dépendance du connecteur Elasticsearch et la version de serveur prise en charge par la version réellement installée.

Elasticsearch doit fonctionner comme un service distinct, avec de la mémoire, du stockage et une surveillance adaptés au corpus. Ne publiez pas son port directement sur Internet. Limitez le réseau aux hôtes nécessaires, activez l'authentification et protégez les communications selon votre mode de déploiement. L'index peut contenir du texte extrait de documents internes, il doit recevoir une protection comparable à la source.

Préparez ensuite un corpus pilote, par exemple un dossier appartenant à un compte de test. Il doit contenir un fichier texte, un document bureautique, un PDF avec couche de texte, un PDF scanné, un fichier volumineux et un document refusé à un second utilisateur. Notez une expression unique présente dans chacun, puis définissez le résultat attendu.

Avant d'ajouter les applications, effectuez une sauvegarde cohérente de Nextcloud. Le guide de sauvegarde Nextcloud couvre les fichiers, la base, la configuration et les applications. Une copie de l'index ne remplace pas ces éléments : l'objectif doit rester de pouvoir reconstruire la recherche à partir des données restaurées.

Comment installer et lancer le premier index ?

Sur une instance autogérée, les applications peuvent être installées depuis l'interface Applications ou avec occ. La commande occ doit être exécutée avec l'utilisateur du serveur web et depuis le répertoire Nextcloud. Adaptez donc www-data, le chemin vers PHP et le répertoire d'installation à votre système.

sudo -u www-data php occ app:install fulltextsearch
sudo -u www-data php occ app:install files_fulltextsearch
sudo -u www-data php occ app:install fulltextsearch_elasticsearch

Installez et sécurisez Elasticsearch séparément en suivant la documentation de sa version. Dans Paramètres d'administration, ouvrez ensuite la section Full text search. Sélectionnez la plateforme Elasticsearch, renseignez son URL, l'index prévu et les identifiants requis par votre configuration. N'inscrivez pas un secret dans un tutoriel partagé ou dans l'historique d'un terminal.

Lancez d'abord le test fourni par le projet. Il crée des documents factices, les indexe, cherche des mots et compare les résultats ainsi que les droits attendus.

sudo -u www-data php occ fulltextsearch:test

Un test réussi valide la communication générale, pas tous vos formats. Commencez ensuite par le compte et le chemin du corpus pilote. La documentation accepte des options JSON pour limiter l'utilisateur, le fournisseur et le chemin.

sudo -u www-data php occ fulltextsearch:index \
  '{"user":"utilisateur-test","provider":"files","path":"Documents/Corpus-Recherche"}'

Architecture de la recherche plein texte Nextcloud avec fournisseur, index et contrôle des droits

Après ce passage réduit, exécutez trois recherches depuis l'interface : un mot du nom de fichier, une expression du contenu et une expression située dans un document non autorisé. Le dernier ne doit pas apparaître pour le compte privé d'accès. Consignez le compte, la requête, le résultat et l'heure du test.

Quels PDF et documents seront réellement indexés ?

Un PDF peut contenir du texte sélectionnable ou seulement une image de page. Dans le premier cas, le processeur de pièces jointes d'Elasticsearch s'appuie sur Apache Tika pour extraire des formats courants comme PDF, PPT et XLS. Dans le second, il n'existe aucun texte à indexer tant qu'une reconnaissance optique de caractères, ou OCR, n'a pas produit une couche exploitable.

Ne promettez donc jamais « tous les PDF » sans test. Numérisez une page avec le scanner réellement utilisé, indexez-la, puis cherchez une référence visible. Si elle reste absente, placez l'OCR avant l'indexation ou conservez une procédure qui transforme les scans en PDF consultables. Contrôlez ensuite le résultat, car l'OCR confond facilement certains caractères, colonnes ou tableaux.

Elasticsearch limite aussi par défaut le nombre de caractères extraits par son processeur de pièces jointes. Un très long rapport peut être trouvé au début mais pas à la fin si la limite applicable est atteinte. Modifier cette valeur augmente la quantité de texte traitée et stockée. Mesurez le besoin avec des documents réels au lieu de supprimer toute limite sans connaître l'effet sur la mémoire et l'index.

Fichier piloteRequête de validationDiagnostic si absent
Texte brutPhrase unique au milieuFournisseur ou chemin non indexé
PDF textuelRéférence en dernière pageExtraction ou limite de caractères
PDF scannéNuméro visible sur l'imageOCR absent ou incorrect
Document bureautiqueMot dans une cellule ou diapositiveFormat ou extraction à contrôler
Fichier partagéTerme depuis deux comptesPropriétaire et droits dans l'index

Les fichiers chiffrés de bout en bout constituent une autre limite logique : si le serveur ne peut pas lire leur contenu, il ne peut pas l'extraire pour une recherche côté serveur. Décidez avant le déploiement si la priorité est l'indexation du contenu ou son illisibilité par le serveur.

Comment maintenir l'index et corriger une recherche vide ?

Le premier passage se lance avec fulltextsearch:index. Pour les changements suivants, le fournisseur marque les documents à réindexer lorsqu'ils sont modifiés. Le projet prévoit leur traitement lors des passages cron ou par la commande longue fulltextsearch:live. Vérifiez le mécanisme recommandé par la version déployée, puis surveillez qu'il tourne réellement après un redémarrage.

Une recherche vide doit être diagnostiquée dans l'ordre. Confirmez d'abord que le fichier est visible dans Files pour le compte concerné. Vérifiez ensuite qu'il appartient au chemin indexé, que le fournisseur l'extrait et que la plateforme répond. Examinez enfin les erreurs du moteur et l'état du document, plutôt que de réinitialiser immédiatement tout l'index.

sudo -u www-data php occ fulltextsearch:test
sudo -u www-data php occ fulltextsearch:index '{"errors":"reset"}'

La seconde commande efface le journal d'erreurs de l'application avant un nouveau diagnostic. Elle ne répare pas la cause. La commande fulltextsearch:reset supprime l'index de la plateforme et impose une reconstruction. Réservez-la à une opération planifiée, après avoir estimé le temps nécessaire et confirmé que les fichiers sources sont sains.

Ne réinitialisez pas pendant une panne non comprise

Une URL erronée, un certificat refusé, un disque plein ou un extracteur défaillant produira la même panne après reconstruction. Isolez d'abord un document et un compte de test.

Surveillez au minimum la disponibilité d'Elasticsearch, l'espace disque, la durée des passages, le nombre d'erreurs et le délai entre modification et résultat. Après chaque mise à niveau de Nextcloud ou d'une application de recherche, rejouez le petit corpus avant de relancer une indexation générale.

Comment tester les droits sans exposer un document ?

La recherche doit respecter les accès ordinaires aux fichiers. Le test officiel vérifie des scénarios de droits sur des documents factices, mais votre recette doit reproduire les groupes, partages et stockages du site. Créez un fichier avec une expression impossible à deviner, partagez-le uniquement avec un compte autorisé, puis cherchez cette expression depuis les deux comptes.

Répétez le test après un retrait de partage, un changement de groupe et le départ d'un utilisateur pilote. Mesurez aussi le délai avant disparition du résultat. Si l'organisation utilise des règles supplémentaires, des applications tierces ou des montages externes, ne supposez pas qu'elles se traduisent toutes de la même façon dans l'index. Le guide de sécurité Nextcloud fournit la checklist des comptes, sessions et journaux à associer à cette recette.

Protégez enfin la liaison entre Nextcloud et le moteur. Utilisez un compte technique limité à l'index concerné, gardez le service hors d'accès public et changez le secret selon votre procédure. Les sauvegardes, instantanés et journaux liés au moteur doivent suivre la même politique de confidentialité que les documents qu'ils décrivent.

Conclusion

La recherche plein texte Nextcloud repose sur une chaîne complète : fournisseur de fichiers, cœur Full Text Search, connecteur, Elasticsearch et tâche d'indexation. Commencez par un corpus réduit, exécutez fulltextsearch:test, puis validez séparément PDF textuel, scan OCR, document long et refus d'accès. Surveillez les mises à jour et n'effacez l'index qu'après avoir identifié la panne. Sur un service hébergé, demandez explicitement si ces applications et le moteur associé sont disponibles avant de retenir l'offre.

Découvrir l'hébergement NextcloudEspace géré en France, options applicatives à confirmer avant commande

Sources officielles

Articles similaires

Prêt à démarrer avec Gaprod ?

Hébergement web, VPS et solutions cloud 100% français, avec support expert inclus.

30j rembourséMigration gratuiteSupport 7j/7