toradb.local("./my_db"). Inside, each table has Parquet segments and optional index sidecars.
Inspect with DESCRIBE
- Row count and vector dimension (if any)
- Segment count and paths
- Sidecars:
bm25,vectors,hnsw,diskann,segment_*
Components
Persistence model
- Ingest — documents append to the active segment; indexes update incrementally where supported.
- Flush — segments are written as Parquet under the table directory.
- Reindex — rebuild a specific index type (
BM25,HNSW,DISKANN) after bulk loads or schema changes. - Compact — merge small segments to reduce file count (
COMPACT TABLE; see Reindex and compact).COMPACT TABLE … FULLalso migrates legacy JSON-only segments to native typed metadata columns.
Segment-only bulk ingest
Large tables useindex_mode: segment_only in manifest.json: per-segment *.bm25.bin (TBM3) and *.bm25.lex.bin lexicons are built at finish; optional query_mode: routed uses bm25.route.bin to skip irrelevant segments at query time.
Environment variables for the demo and CLI:
See Production serving profiles for ingest vs serving presets.
