Vault-Intelligence Hybrid-Suche
Um meine knapp 6.000 Notizen für meinen KI-Assistenten durchsuchbar zu machen, stieß reine Vektorsuche (RAG) bei spezifischen Fachbegriffen oder IDs schnell an ihre Grenzen. Die Lösung war eine leichtgewichtige hybride Suche, die das semantische Verständnis der KI mit präziser klassischer Stichwortsuche kombiniert.
Schlanke Umsetzung mit SQLite und FTS5
Statt eine ressourcenhungrige Suchmaschine wie ElasticSearch aufzusetzen, nutze ich eine einfache SQLite-Datenbank. Mit der oft übersehenen FTS5-Erweiterung (Full-Text Search) habe ich eine virtuelle Tabelle erstellt, die alle Dokumente volltext-indexiert. Für die qualitative Sortierung der Ergebnisse sorgt das BM25-Ranking, das die Seltenheit und Häufigkeit von Suchbegriffen gewichtet.
Das Setup ist extrem effizient: Trotz des kompletten Volltextindexes für fast 6.000 Dokumente wuchs meine Datenbankdatei lediglich von 18 auf 33 Megabyte an. Das System läuft rasend schnell und ressourcenschonend.
KI-Integration via Model Context Protocol
Damit das Sprachmodell die Suche bedienen kann, habe ich über das Model Context Protocol (MCP) ein Tool namens search_content geschrieben. Die KI kann Suchbegriffe, Limits und Filter (wie Ordner oder Tags) nun selbstständig an die Datenbank übergeben.
Ein entscheidendes Detail für die Performance ist die Snippet-Extraktion: Die Datenbank liefert der KI nicht 20 komplette Dokumente zurück, sondern nur die relevanten Textausschnitte rund um den Suchbegriff, versehen mit Kontext-Markern. So weiß die KI exakt, woher ein Begriff stammt, ohne dass das Kontextfenster oder mein Token-Budget gesprengt werden.
Die wichtigsten Erkenntnisse für eigene Setups: * Hybride Suche ist Pflicht: Reine Vektorsuche scheitert an exakten IDs oder Produktnamen. Die Kombination aus Volltext- und Vektorsuche liefert die besten Ergebnisse. * Simpel starten: Eine einfache SQLite-Datenbank mit FTS5 und intelligenter Snippet-Übergabe reicht für tausende Dokumente völlig aus und schlägt oft komplexe Enterprise-Architekturen.