Search¶
transcript_indexer.search
¶
Query helpers over the indexed corpus.
Pure functions over a sqlite3.Connection. Used by both the CLI (Phase 3) and the MCP server (Phase 7). Semantic search lands in Phase 5; this module covers FTS5 and metadata search only.
search_conversations(conn, *, since=None, until=None, participant=None, kind=None, has_notes=None, title_query=None, limit=None)
¶
List conversations matching the given metadata filters.
Source code in src/transcript_indexer/search.py
get_conversation(conn, conversation_id, *, include_notes=True)
¶
Fetch a single conversation with its turns and (optionally) notes.
Source code in src/transcript_indexer/search.py
find_notes(conn, *, since=None, until=None, kind=None, conversation_kind=None, limit=None)
¶
List notes filtered by note kind, parent kind, and date.
Source code in src/transcript_indexer/search.py
search_turns_fts(conn, query, *, speaker=None, since=None, until=None, limit=20)
¶
Run an FTS5 query against turns and return ranked hits.
Source code in src/transcript_indexer/search.py
search_notes_fts(conn, query, *, kind=None, limit=20)
¶
Run an FTS5 query against notes and return ranked hits.
Source code in src/transcript_indexer/search.py
search_fts(conn, query, *, artifact='any', speaker=None, since=None, until=None, note_kind=None, limit=20)
¶
Run FTS against the requested artifact set.