Search¶
txi search is a group of subcommands for querying the index. Three modes are available:
txi search fts— full-text (BM25) search across turns.txi search semantic— vector KNN search across chunk embeddings.txi search hybrid— FTS + semantic merged with Reciprocal Rank Fusion (RRF).
txi search fts "release planning"
txi search semantic "how should we sequence the launch?"
txi search hybrid "release planning"
Full-text search¶
turns (4):
[142#37] 2026-04-22 Riley Stone: we should land the release planning doc by friday
(Q2 roadmap sync)
...
Options:
--speaker NAME— filter turn hits by speaker name.--since ISO_DATE/--until ISO_DATE— bound results by conversation date.--limit N/-n N— max hits. Default 20.--config PATH— override the default config file.
Query syntax: passed through to SQLite's FTS5 matcher, so phrase queries ("exact phrase"), prefix matches (plan*), and boolean operators (release AND planning, release NOT marketing) all work.
Semantic search¶
chunks (5):
[142/4081] 2026-04-22 d=0.2103 turns 36-39
Riley Stone: we should land the release planning doc by friday
(Q2 roadmap sync)
...
The query is embedded with the active embedding provider/model (see Configuration) and matched against chunk_embeddings via sqlite-vec KNN. Distance is the provider's metric (lower is better).
Options:
--k N/-n N— number of nearest neighbors. Default 20.--since ISO_DATE/--until ISO_DATE— bound results by conversation date.--conversation ID— restrict to a single conversation.--config PATH— override the default config file.
Run txi sync (or txi embed) at least once before semantic search; vectors are populated as part of the sync pipeline.
Hybrid search¶
conversations (3):
[142] 2026-04-22 score=0.0327 [fts,sem] Q2 roadmap sync
[98] 2026-03-14 score=0.0163 [sem] Engineering offsite recap
[171] 2026-05-02 score=0.0163 [fts] Friday release check
Hits are grouped by conversation_id and scored with Reciprocal Rank Fusion (1 / (60 + rank)) — a conversation that surfaces in both FTS and semantic results outranks one that surfaces in only one.
Options mirror the FTS and semantic variants: --speaker, --since, --until, --k/-n, --config.
Use hybrid when you want a single ranked list that reflects both keyword and semantic relevance. Use FTS when you need exact-match precision; use semantic when the query is paraphrastic.