Concept (semantic) search
semantic_searchSemantic (vector) search over embedded opinion chunks: finds cases by concept or plain-language description when there is no fixed term of art. Returns one row per case: opinion_id, cluster_id, metadata, matched_chunk, distance, similarity, matched_text (the passage the case matched on) and matched_text_status; same_case_other_opinions counts other opinions of the same case, and duplicate_records names a second record holding identical text. Limits: ranking covers only a partial embedded subset of the 10,903,917 opinion records (coverage_note gives it), so relevant authority that is not embedded does not appear; similarity is a relevance signal only, not treatment, validity or "good law"; matched_text is re-derived from the opinion text and present only when that reconstruction agrees with the stored chunk count (about 90% of opinions), otherwise null with matched_text_status giving the reason. A matched_text marks where the match happened, not a holding. Case law in this mirror ends 2026-09-30 (exact scan of all 10,174,547 case records): a thin or empty result for recent authority means the collection ends there, not that no such case exists. Degraded state: the route depends on an embedding service that may be down; it then returns a 503 error carrying coverage_note, which means concept search is unavailable, not that nothing matched (fts is a separate route). Every response carries a "note" and a coverage_note. The sources tool returns this tool’s full coverage statement.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | a concept or plain-language description of the legal issue | |
| limit | No | max results, 1-20 (default 20) |