Skip to main content
Chaque document du graphe vient d’un éditeur : la HAS, ebmfrance, … Cette route publie la liste de ceux qui ont des documents courants, et donc les seules valeurs que POST /v2/retrieve accepte dans sources et exclude_sources.
docs compte les documents courants de l’éditeur : c’est ce qui dit si restreindre une question à cette source rendra quelque chose. Un éditeur dont plus aucun document n’est actif n’est pas listé — le publier ferait accepter une restriction qui ne peut répondre que vide.

Restreindre une question

Les identifiants sont insensibles à la casse (« has » vaut HAS), mais rien de plus : pas de correspondance approchée, pas de recherche sur le nom complet. Une source inconnue est refusée en 400 (UNKNOWN_SOURCE), avec la liste de celles qui existent — servir une réponse vide ferait lire une faute de frappe comme un trou du corpus. Une liste vide est refusée elle aussi : « aucune source cochée » et « toutes les sources » sont deux intentions opposées, et les confondre servirait le corpus entier à un client qui croyait l’avoir restreint. Pour ne rien restreindre, on omet le champ. exclude_sources fait l’inverse — retirer un éditeur sans avoir à énumérer tous les autres. La réponse porte source_scope, la restriction réellement appliquée en identifiants canoniques.

Ce que la restriction couvre

Tous les chemins du graphe : extraits, tables de décision, unités citables retrouvées par concepts comme par vecteurs, et le voisinage entre unités — le seul chemin qui saute d’un document à l’autre, donc le seul par lequel un éditeur exclu pourrait revenir. La seconde lecture (deliberate) relance des recherches : elles sont restreintes elles aussi. Deux exceptions, délibérées :
  • les concepts — un concept n’appartient à aucun document, c’est un terme du registre, partagé. Les unités citables qu’il ramène, elles, sont restreintes ;
  • les médicaments — le sous-graph des RCP vient du référentiel ANSM, pas d’un éditeur de recommandations. Masquer une contre-indication parce qu’on a restreint le corpus de recommandations serait un mode d’erreur, pas une fonctionnalité.
Sur un éditeur très minoritaire, la recherche vectorielle peut rendre moins de chunk_k extraits : l’index vectoriel classe sur tout le corpus et le filtre s’applique ensuite. Le serveur sur-échantillonne pour compenser, mais la troncature reste possible — mieux vaut le savoir que le découvrir.