thomas@hammoudi:~/dev$

cat ~/projets/recherche-locale/README.md

La recherche locale par les mots et par le sens

Une base de recherche qui retrouve un passage par ses mots ou par son idée, entièrement sur ma machine.

  • activité: Claude Code
  • état: prod · utilisé
  • mode: comment ça marche
  • mis à jour:

Le problème

J’ai écrit et rassemblé beaucoup de textes : mes articles, mes scripts, mes cours, des livres. Retrouver « où ai-je dit ça ? » avec une recherche par mots rate tout ce qui est dit autrement. Et je ne voulais pas envoyer mes textes à un service en ligne.

Ce que ça fait

Je pose une question dans mes mots, et je reçois des passages avec leur source, trouvés par les mots exacts ou par le sens. Claude s’en sert aussi, pour ne pas inventer ce que mes textes disent déjà. Certains corpus sont privés et ne quittent jamais la machine.

Comment ça marche

Les textes sont nettoyés, coupés en passages, puis indexés deux fois : par les mots, et par le sens avec un modèle qui tourne en local. Une recherche fusionne les deux classements. Un second modèle local reclasse les 30 premiers passages. Sur un banc de 50 questions à réponses connues (17/10/2026), la bonne réponse est dans les 3 premiers 20 fois sur 20 avec ce juge, contre 17 sur 20 sans. Avant d’adopter un corpus, des questions-témoins relevées dans les textes eux-mêmes vérifient qu’il répond.

Qui fait quoi, en un schémarecherche-locale/schema.svg
La recherche locale : qui fait quoiDes textes sont découpés et indexés par mots et par sens sur la machine ; une question est cherchée dans l'index, les meilleurs passages sont reclassés par un juge local, et des contrôles vérifient.$ recherche-locale --schema8 briques┌─ LES TEXTES ─┐Mes contenus, des livres, des cours.Rien ne quitte la machine.┌─ LE DÉCOUPAGE ─┐On nettoie, on retire le texte répété,on coupe en passages.┌─ L'INDEX ─┐Un index par les mots et un index parle sens, en local.┌─ LA QUESTION ─┐Posée par moi ou par Claude, dans mesmots.┌─ LA RECHERCHE ─┐Les deux classements sont fusionnés enun seul.┌─ LE JUGE LOCAL ─┐Un second modèle reclasse les 30premiers passages.┌─ LA RÉPONSE ─┐Des passages, chacun avec sa sourcecitée.┌─ LES CONTRÔLES ─┐Des questions-témoins relevées dansles textes eux-mêmes.découpeindexeinterrogequestion30 premiersclassevérifieBanc de 50 questions, 17/10/2026 : 20 sur 20 dans les 3 premiers avec le juge (17 sur 20 sans).
La recherche locale : qui fait quoiDes textes sont découpés et indexés par mots et par sens sur la machine ; une question est cherchée dans l'index, les meilleurs passages sont reclassés par un juge local, et des contrôles vérifient. Version en colonne.$ recherche-locale --schema8 briques┌─ LES TEXTES ─┐Mes contenus, des livres, des cours. Rien nequitte la machine.découpe┌─ LE DÉCOUPAGE ─┐On nettoie, on retire le texte répété, oncoupe en passages.indexe┌─ L'INDEX ─┐Un index par les mots et un index par lesens, en local.interroge┌─ LA RECHERCHE ─┐Les deux classements sont fusionnés en unseul.30 premiers┌─ LE JUGE LOCAL ─┐Un second modèle reclasse les 30 premierspassages.classe┌─ LA RÉPONSE ─┐Des passages, chacun avec sa source citée.┌─ LA QUESTION ─┐Posée par moi ou par Claude, dans mes mots.┌─ LES CONTRÔLES ─┐Des questions-témoins relevées dans lestextes eux-mêmes.Banc du 17/10/2026 : 20/20 avec le juge.

Qui fait quoi

  • Les textes : mes contenus, des livres, des cours.
  • Le découpage : nettoie et coupe en passages.
  • L’index : un index par les mots, un par le sens.
  • La recherche : fusionne les deux classements.
  • Le juge local : reclasse les meilleurs passages.
  • Les contrôles : vérifient qu’un corpus répond juste.

Ce que vous pouvez récupérer

Rien pour l’instant.

Ce que j'en retiens

Il faut lire les textes avant de les indexer : un tampon répété sur chaque page suffit à remplir l’index de bruit. Et un résultat par le sens reste une piste : je le vérifie dans le texte avant de l’affirmer.

tous les projets