Une base de connaissances qu’on ne peut pas fouiller est un cimetière élégant. Dès quelques centaines de notes, la recherche plein-texte devient la fonction la plus utilisée de tout le système — et, paradoxalement, la plus souvent négligée au moment de la conception.
Pourquoi indexer : le problème de l’échelle
Chercher naïvement une expression dans tous les fichiers (un grep géant) fonctionne sur dix documents et s’effondre sur dix mille. La solution universelle est l’index inversé : au lieu de parcourir les documents à chaque requête, on construit à l’avance, pour chaque mot, la liste des documents qui le contiennent. La recherche devient alors quasi instantanée, même sur des volumes considérables.
Trois échelles, trois outils
- Lunr.js / Pagefind — un index généré à la construction du site et exécuté dans le navigateur. Parfait pour un site statique ou un jardin numérique : aucun serveur requis.
- MeiliSearch / Typesense — des moteurs rapides, tolérants aux fautes de frappe, faciles à auto-héberger. Le meilleur rapport simplicité/pertinence pour un projet de taille moyenne.
- Elasticsearch / OpenSearch — la puissance industrielle : gros volumes, analyses, agrégations. Plus lourd à opérer, réservé aux besoins réels.
Trouver ne suffit pas : classer
Renvoyer tous les documents contenant un mot ne sert à rien s’ils sont mille. Le vrai travail d’un moteur est de classer par pertinence. Les moteurs modernes pondèrent selon la fréquence du terme, sa position (un mot dans le titre pèse plus que dans le corps), la fraîcheur du document, et surtout tolèrent les fautes de frappe (recherche floue). Une bonne recherche « devine » ce que vous vouliez dire — c’est exactement ce qui sépare l’outil agréable de l’outil frustrant qu’on abandonne.
Le rôle décisif des métadonnées
Titres, étiquettes, dates, auteurs : bien renseignées, ces métadonnées décuplent la recherche en permettant des filtres (« tous les articles de 2025 étiquetés Markdown »). Prendre l’habitude de structurer un minimum ses notes à la saisie, c’est s’épargner des heures de fouille des mois plus tard. Une note sans métadonnées est une note qu’on ne retrouvera que par chance.
En pratique
Pour un site statique, ajoutez Pagefind ou Lunr à la construction : quelques lignes de configuration et la recherche fonctionne, sans serveur. Au-delà, installez MeiliSearch : sa mise en route tient en une commande, et sa tolérance aux fautes ravira vos utilisateurs.
À retenir
Investir dans la recherche, c’est investir dans l’usage réel de sa base : une note introuvable n’existe pas. Pour un site statique, Lunr ou Pagefind suffisent ; au-delà, MeiliSearch offre un rapport simplicité/pertinence difficile à battre. Et n’oubliez jamais les métadonnées : elles sont la moitié invisible d’une bonne recherche.