QuackIR exposes a modular Python API for building and querying information retrieval indexes on top of relational databases. The top-levelDocumentation 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.
quackir package exports the three enums that control indexing and retrieval behavior. Backend-specific indexers and searchers live in quackir.index and quackir.search, and text analysis utilities are available in quackir.analysis.
Public exports
The following names are importable directly fromquackir:
| Name | Kind | Description |
|---|---|---|
IndexType | Enum | Selects sparse (BM25) or dense (vector) indexing. |
SearchType | Enum | Selects sparse, dense, or hybrid retrieval. |
SearchDB | Enum | Identifies the target database backend. |
Module structure
Quick start
The following example indexes a JSONL corpus with DuckDB and runs a BM25 search against it.API sections
Enums
IndexType and SearchDB — configure indexing backends and index kinds.SearchType
SearchType — choose sparse, dense, or hybrid retrieval.Indexers
DuckDB, SQLite, and PostgreSQL indexers for building BM25 and vector indexes.
Searchers
DuckDB, SQLite, and PostgreSQL searchers for running retrieval queries.
Analysis
tokenize() — Pyserini Lucene Analyzer wrapper for sparse preprocessing.