Recherche sémantique
Pour savoir ce dont vous disposez, ouvrez Paramètres → Modules : la liste des modules activés y figure. Les activations sont faites par l'équipe Stratt selon votre abonnement ; une demande d'extension passe par le support.
Sur les écrans Marchés, Mandats et Fournisseurs, la barre de recherche accepte une description en français — pas seulement un mot contenu dans un libellé. « Entretien des espaces verts » retrouve un mandat enregistré sous « tonte et élagage », parce que la comparaison porte sur le sens et non sur les lettres.
Le bouton en forme d’étincelle, à droite du champ, déclenche la recherche ; la touche Entrée aussi. Il reste inactif tant que le champ est vide.
Ce n’est pas l’assistant conversationnel. Cette recherche appartient au module « Achats publics » : elle fonctionne dans une organisation qui ne dispose pas du module « Chatbot IA », et elle ne rend pas de réponse rédigée, seulement une liste de lignes. L’assistant conversationnel est une fonction séparée, avec sa propre disponibilité.
Ce que la recherche affiche
Une fois la recherche lancée, le tableau de l’écran est remplacé par les résultats, et un bandeau rappelle ce qui a été demandé : Recherche IA : suivi de la requête entre guillemets, puis du nombre de résultats classés par pertinence. Le bouton Réinitialiser du bandeau rend la main aux filtres habituels. Modifier le texte du champ lève également le mode recherche.
Les résultats sont ordonnés du plus proche au moins proche, sans seuil minimum : la fin d’une liste n’est pas forcément pertinente, elle est seulement moins mauvaise que le reste. Ils sont bornés à quarante lignes.
L’index, et ce qu’il contient
La comparaison de sens demande un calcul préalable, conservé dans un index. Celui-ci est construit sur les mandats, à raison d’une entrée par mandat, et cette entrée ne reprend que cinq informations :
- l’objet du mandat ;
- le titulaire ;
- le service ;
- le code de famille ;
- le libellé de nomenclature associé.
C’est tout. Les montants, les dates, les exercices, les statuts et les procédures ne sont pas indexés.
La conséquence à retenir. Un critère chiffré ou daté glissé dans la requête n’agit pas comme un filtre. « Prestations de nettoyage de plus de 40 000 € l’an dernier » cherchera les libellés qui ressemblent à cette phrase entière, sans écarter les mandats de 3 000 € ni ceux d’un autre exercice. Pour un montant, une période ou un statut, ce sont les filtres de l’écran qui s’appliquent — et ils se combinent avec le résultat affiché.
Un seul index, trois écrans
Les trois écrans interrogent le même index de mandats, et en tirent trois réponses différentes :
| Écran | Ce qui est rendu |
|---|---|
| Mandats | les mandats les plus proches de la requête |
| Marchés | les marchés auxquels ces mandats se rattachent |
| Fournisseurs | les titulaires de ces mandats, avec leur cumul et leur nombre de mandats |
Cela explique deux comportements qui surprennent :
- un marché sans aucun mandat — par exemple un marché notifié dont rien n’a encore été payé — ne peut pas être retrouvé par cette recherche, puisqu’il n’a pas d’entrée dans l’index ;
- un fournisseur sans mandat non plus.
Ces éléments restent accessibles par les filtres et par la recherche textuelle habituelle de l’écran. Les mandats supprimés, à l’inverse, n’apparaissent pas dans les résultats.
Réindexer
L’index se tient à jour de deux façons.
Automatiquement, une fois par jour, pour toutes les organisations. Le calcul est incrémental : seules les entrées dont le texte a changé sont recalculées, ce qui rend le passage quotidien très léger en régime courant.
À la demande, par le bouton Réindexer, placé à côté de la barre de recherche sur les trois écrans. Il n’est proposé qu’aux utilisateurs disposant du droit d’écriture sur les achats. À la fin, un message annonce Indexation terminée suivi du nombre de mandats traités.
« Indexation terminée — 0 mandat(s) » n’est pas un échec. C’est le résultat normal quand rien n’a changé depuis le dernier passage : l’opération ne recalcule que ce qui a bougé. Si une recherche ne rend rien malgré cela, c’est que les libellés cherchés n’existent pas dans les mandats, ou que l’index n’a jamais pu être construit.
Un import de mandats, un recodage manuel ou une correction de libellé sont les cas qui justifient une réindexation immédiate plutôt que l’attente du passage quotidien.
Quand la recherche ne répond pas
La recherche sémantique repose sur un service de modèle externe. Deux messages signalent qu’il manque ou qu’il refuse :
- Recherche IA indisponible (indexation nécessaire ?) — la recherche n’a pas abouti ;
- Échec de l’indexation (clé IA configurée ?) — la réindexation n’a pas abouti.
Dans les deux cas, le reste de l’écran continue de fonctionner normalement : les filtres, les tris et la recherche textuelle ne dépendent pas de ce service.
Ce qui est transmis
La requête saisie est envoyée au fournisseur du modèle pour y être convertie en vecteur, et les libellés indexés le sont de la même façon au moment de l’indexation. Ce qui part, ce qui reste et ce qui est conservé sont décrits sur la page Données et modèle.
Permissions requises
| Action | Permission |
|---|---|
| Lancer une recherche sémantique | procurement.read |
| Reconstruire l’index (Réindexer) | procurement.write |
Limites connues
- Les critères chiffrés, de date ou de statut d’une requête ne sont pas pris en compte : seuls les libellés comptent.
- Les résultats n’ont pas de seuil de pertinence, et s’arrêtent à quarante lignes.
- Un marché ou un fournisseur sans mandat rattaché est introuvable par cette recherche.
- La recherche ne remplace pas les filtres. Pour « tous les mandats du service DSI sur 2026 », les filtres sont plus rapides et exacts. La recherche par le sens sert quand on ne sait pas comment la donnée a été nommée.