Skip to content

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"
txi search fts "release planning"
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.

txi search semantic "how should we sequence the launch?"
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.

txi search hybrid "release planning"
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.