Documentation Index
Fetch the complete documentation index at: https://mintlify.com/castorini/quackir/llms.txt
Use this file to discover all available pages before exploring further.
IndexType and SearchDB are the two configuration enums exported from the top-level quackir package. IndexType determines the schema and indexing strategy used when creating a table, while SearchDB identifies which database backend a workflow targets.
IndexType
IndexType controls the column layout created by init_table and the insertion logic used by load_jsonl_table / load_parquet_table.
| Member | Value | Description |
|---|---|---|
IndexType.SPARSE | 'sparse' | Creates an (id, contents) table and builds a BM25 full-text index. |
IndexType.DENSE | 'dense' | Creates an (id, embedding) table suitable for cosine similarity search. |
Usage
SQLite only supports
IndexType.SPARSE. Passing IndexType.DENSE to SQLiteIndexer.init_table raises a ValueError.Detection
All three indexers exposeget_index_type(table_name) to auto-detect the type of an existing table by inspecting its column names:
- A
contentscolumn →IndexType.SPARSE - An
embeddingcolumn →IndexType.DENSE
SearchDB
SearchDB identifies the database engine. It is used by CLI tooling and environment variable loading helpers in quackir._base to select the appropriate indexer or searcher at runtime.
| Member | Value | Description |
|---|---|---|
SearchDB.DUCKDB | 'duckdb' | DuckDB file-based database. Requires db_path. |
SearchDB.SQLITE | 'sqlite' | SQLite file-based database. Requires db_path. |
SearchDB.POSTGRES | 'postgres' | PostgreSQL server. Requires db_name and db_user. |