Ecto candidate retrieval backend with backend-specific text-search paths.
Structural lookups use the terms integer[] GIN index on Postgres and a
normalized candidate table on DuckDB. Term strings are normalized to integer
IDs in the terms table before querying.
Summary
Types
@type t() :: %Exograph.Storage.Ecto.InvertedIndex{ bm25?: boolean(), package: Exograph.Package.t() | nil, package_version: Exograph.PackageVersion.t() | nil, prefix: String.t(), repo: module() }