Back to flin
flin

Analytique de recherche et mise en cache des résultats

Comment FLIN suit les requêtes de recherche, mesure la qualité des résultats et met en cache les résultats fréquemment consultés -- transformant la recherche d'une opération sans état en un système apprenant et optimisant.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 4 min flin
EN/ FR/ ES
flinanalyticscachingsearchperformance

Un système de recherche sans analytique est un système de recherche que vous ne pouvez pas améliorer. Vous ne savez pas ce que les utilisateurs recherchent, s'ils trouvent ce dont ils ont besoin, ou quelles requêtes retournent des résultats vides. Vous ne pouvez pas identifier les lacunes dans votre contenu, ajuster vos poids de classement ou mesurer l'impact des changements.

Le système de recherche de FLIN inclut une analytique intégrée qui suit chaque requête, chaque ensemble de résultats et chaque interaction utilisateur avec les résultats. Combiné avec une couche de mise en cache intelligente qui élimine les calculs redondants, le système de recherche devient plus rapide et plus intelligent au fil du temps.

Analytique de recherche

Chaque opération de recherche dans FLIN -- que ce soit search, ask ou hybrid_search -- peut optionnellement enregistrer des données analytiques en ajoutant analytics: true dans les options.

Suivi des clics

L'analytique devient précieuse quand vous savez quels résultats les utilisateurs cliquent réellement. Le frontend envoie un événement de clic quand un utilisateur clique sur un résultat de recherche, incluant la position dans la liste des résultats.

Requêtes sans résultat : trouver les lacunes de contenu

La métrique analytique la plus exploitable est celle des requêtes sans résultat. Quand les utilisateurs cherchent quelque chose et n'obtiennent aucun résultat, cela signifie soit que le contenu existe mais n'est pas indexé correctement, soit qu'il n'existe pas et devrait être créé.

Mise en cache des résultats

Les opérations de recherche impliquent la génération d'embeddings, des recherches dans les index et potentiellement des appels IA. La mise en cache élimine les calculs redondants pour les requêtes répétées.

Cache au niveau de la requête

FLIN met en cache les résultats de recherche indexés par la chaîne de requête et les paramètres de recherche. Le cache utilise l'éviction LRU et un TTL configurable (par défaut : 5 minutes pour les résultats de recherche, 1 heure pour les embeddings).

Cache d'embeddings

L'embedding de la requête est mis en cache séparément des résultats de recherche, ce qui est particulièrement précieux pour les interfaces de recherche en temps réel.

Cache d'intentions

Pour les requêtes ask, la traduction IA (le plan de requête) est mise en cache. Les appels répétés passent de 500 ms à 5 ms.

Impact de performance de la mise en cache

OpérationSans cacheAvec cacheAmélioration
Recherche sémantique15 ms3 ms5x plus rapide
Recherche hybride20 ms5 ms4x plus rapide
Requête ask (première)500 ms500 msPas de changement
Requête ask (répétée)500 ms5 ms100x plus rapide

La pile de recherche complète

Le système de recherche de FLIN, construit au cours des dix derniers articles, comprend :

  1. Type semantic text -- génération automatique d'embeddings lors de la sauvegarde.
  2. Index vectoriel HNSW -- recherche rapide de plus proches voisins approximatifs.
  3. Index inversé BM25 -- correspondance précise de mots-clés.
  4. Recherche hybride -- classement fusionné avec RRF.
  5. Reclassement par encodeur croisé -- notation de précision pour le RAG.
  6. Analyse de documents -- extraction PDF, DOCX, CSV, JSON, YAML.
  7. Découpage conscient du code -- division intelligente de documents.
  8. FastEmbed -- génération locale et privée d'embeddings.
  9. Passerelle IA -- accès LLM multi-fournisseur.
  10. Analytique et mise en cache -- apprentissage et optimisation.

Tout cela est intégré au runtime FLIN. Pas de services externes. Pas d'infrastructure à gérer. Un développeur écrit search "query" in Entity by field et toute la pile s'active.

Ceci conclut l'arc 11 -- l'IA et le moteur d'intentions de FLIN. Le prochain arc continue le voyage dans la bibliothèque standard et les outils de l'écosystème de FLIN.


Ceci est la partie 125 de la série « Comment nous avons construit FLIN », documentant comment un CEO à Abidjan et un CTO IA ont conçu et construit un langage de programmation à partir de zéro.

Navigation de la série : - [124] Conception d'un langage IA-first - [125] Analytique de recherche et mise en cache des résultats (vous êtes ici) - Prochain arc : bibliothèque standard et écosystème FLIN

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude zerosuite

Ça marche, et ce n'est pas fini

Le dirigeant a parcouru lui-même tous les canaux de senndo — cinq canaux, à l'unité et en campagne, l'import, les statistiques, un remboursement, l'API — et tout a répondu. Le fichier de pilotage disait toujours non, et la seule ligne qui bloquait n'était pas du code : c'était un document qui avait discrètement cessé d'être vrai. Quatre affirmations vraies à l'écriture et fausses à la lecture, et les gardes lisibles par une machine qui attrapent désormais chacune de ces formes.

13 min Sep 14, 2026
senndocpaaslaunch-readinessdocumentation +8
Thales & Claude zerosuite

Le navigateur entre les mains de Claude : piloter le Chrome du dirigeant

Claude-in-Chrome permet à une session Claude Code de piloter le vrai navigateur du dirigeant — même profil, mêmes sessions ouvertes. Ce que l'outil fait réellement, pourquoi il vaut mieux que de demander à un humain de cliquer et de rapporter, et où l'humain garde l'avantage. Ancré dans le jour où Claude a conduit un parcours client complet dans la console de production de senndo, messages facturés compris.

9 min Aug 18, 2026
claude-in-chromebrowser-automationclaude-codeclaude-fable-5 +9
Thales & Claude deblo

Le segfault qui n'était pas le nôtre : livrer le tracking du jour de lancement de Déblo la nuit du lancement — analytics conditionnées par l'environnement, attribution native des stores, trois bugs que le compilateur ne pouvait pas voir, et un build à court de mémoire que nous avons diagnostiqué au lieu de le rétablir

Le 1er juillet 2026 — jour de lancement — le risque n'a jamais été le texte. C'était les campagnes payantes qui partaient à l'aveugle. Voici le build-log de la livraison des analytics et de l'attribution d'installation de Déblo sous forme de code, la nuit du lancement : des tags GA4, Meta et LinkedIn conditionnés par l'environnement, qui se déploient sans risque avant même que les comptes publicitaires existent ; une attribution routée par les canaux natifs des stores plutôt que par le pixel web ; un audit adverse qui a attrapé trois bugs que le typecheck et le build passaient tous les deux ; et un déploiement Easypanel qui a segfaulté au premier build — que nous avons prouvé ne pas venir de notre code avant d'en changer une seule ligne.

18 min Jul 1, 2026
deblolaunch-dayclaude-opus-4.8claude-code +26