mix exograph.index (exograph v0.8.0)

Copy Markdown View Source

Indexes Elixir source files with Exograph.

mix exograph.index --repo MyApp.Repo --migrate
mix exograph.index --repo MyApp.Repo --migrate lib test
mix exograph.index --repo MyApp.Repo --min-mass 8 --stats lib

Options

  • --backend - duckdb (default) or postgres
  • --repo - Ecto repo module for the selected backend
  • --prefix - Exograph table prefix (default: exograph)
  • --migrate - create/upgrade backend tables and text indexes
  • --no-bm25 - skip BM25/full-text index creation during migration/finalization
  • --quackdb-uri - QuackDB URI for the DuckDB backend when --repo is omitted
  • --quackdb-token - QuackDB token for the DuckDB backend
  • --duckdb-database - managed DuckDB database path when --quackdb-uri is omitted
  • --duckdb-threads - DuckDB execution threads for indexing/query setup
  • --postgres-maintenance-work-mem - session-local maintenance_work_mem during Postgres index builds
  • --postgres-max-parallel-maintenance-workers - session-local max_parallel_maintenance_workers during Postgres index builds
  • --postgres-unlogged - use UNLOGGED Postgres tables for rebuildable local indexes
  • --postgres-defer-indexes - build non-unique Postgres query indexes after indexing
  • --postgres-copy - use Postgres COPY for supported high-volume append tables
  • --min-mass - minimum AST fragment mass (default: 8)
  • --stats - print indexed fragment statistics
  • --json - print summary as JSON

DuckDB/QuackDB is recommended for local indexes and fast query latency. Postgres remains supported for server deployments and ParadeDB-backed BM25.