search_all
Recherche fédérée sur toutes les sources, par ENTRELACEMENT.
Tool ONE-STOP quand on ne sait pas où chercher : interroge en parallèle
les sources locales (DILA judic, JADE admin, LEGI, CEDH, CJUE).
⚠️ **Il n'y a pas de score global, et c'est délibéré.** Les scores BM25
ne sont pas comparables d'une source à l'autre : la rareté d'un mot est
calculée sur chaque corpus séparément, si bien qu'un même terme n'a pas
le même poids dans 76 000 arrêts CEDH et dans 1,5 M de décisions
judiciaires. Les résultats sont donc ENTRELACÉS — le 1er de chaque
source, puis le 2e de chaque source, etc., les sources les plus faisant
autorité en tête à rang égal. L'ordre interne de chaque source est
préservé, et aucune source ne peut être affamée par une autre.
Un champ `score` valant 1.0 était renvoyé pour tous les résultats : il
ne mesurait rien et laissait croire à un tri par pertinence. Supprimé le
30 août 2026. Pour connaître la position d'un résultat DANS sa source,
lire `source_rank` (0 = le mieux classé par cette source).
⚠️ **AND implicite** : tous les termes sont exigés simultanément. Une
question rédigée en langage naturel (10 mots et plus) renverra
fréquemment 0 sur les fonds français. Préférer 2 à 5 mots distinctifs.
Args:
query: mots-clés (ou phrase). Si `expand_synonyms=True` (défaut),
les termes du thésaurus juridique FR sont automatiquement
étendus à leurs équivalents (ex: "harcèlement" → aussi
"intimidation", "vexation morale", etc.). Les mots trop courants
du vocabulaire juridique (« État », « justice », « droit »,
« responsabilité »…) ne sont PAS étendus : leurs « synonymes »
de thésaurus sont des rubriques de classement, pas des
équivalents, et ils noyaient les termes porteurs de sens.
sources: liste optionnelle parmi ["dila", "jade", "legi", "cedh",
"cjue"]. None = toutes.
sort: "relevance" (défaut) ou "date_desc"
date_min, date_max: ISO YYYY-MM-DD
limit: nombre de résultats fusionnés (défaut 30, max 100 ; chaque
source locale plafonne à 50 résultats par appel)
expand_synonyms: active le thésaurus (défaut True)
Returns:
dict {"query_expanded", "per_source_counts", "results": [...]}.
`per_source_counts` ne compte que les sources ayant répondu ; si
une source est en panne, elle est détaillée dans `source_errors`
et un `warning` signale des résultats potentiellement incomplets.
`truncated: true` + `note` signalent que la fusion dépasse `limit`.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | relevance | |
| limit | No | ||
| query | Yes | ||
| sources | No | ||
| date_max | No | ||
| date_min | No | ||
| expand_synonyms | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||