Praxisprojekt Second Brain · Abfragen
Suchwerkzeuge
Lernziele
- Du findest mit
ripgrepjede Datei, die ein Wort enthält, und schränkst die Obsidian-Suche mit Operatoren ein. - Du erkennst Fragen der Form „welche Seiten haben Eigenschaft P“ und beantwortest sie mit einer Dataview-Abfrage.
- Du schaltest eine mechanische Vorauswahl vor den Agenten, damit er nur Kandidaten liest.
Suchen in einem Vault aus Textdateien heißt meistens grep, also eine Textsuche über Dateien. Das klingt primitiv und reicht fast immer.
ripgrep
ripgrep (Befehl rg) durchsucht Dateien nach Text und ist dabei sehr schnell.
rg -i "graph rag" wiki/ --type md -l
rg -i "überhol" wiki/ -C 2
Die erste Zeile listet jede Markdown-Datei, die „graph rag“ enthält, ohne auf Groß- und Kleinschreibung zu achten (-i). -l gibt nur die Dateinamen aus. Die zweite zeigt jeden Treffer mit zwei Zeilen davor und danach (-C 2). Versteckte Ordner wie .obsidian/ und alles aus der .gitignore überspringt rg von selbst.
Wir haben das an einem künstlichen Vault mit 10.000 Markdown-Dateien gemessen, zusammen 39 MB. Die Suche nach „graph rag“ dauerte zwischen 0,15 und 0,5 Sekunden (ripgrep 15.2.0, Apple M3 Ultra, Stand: Nov. 2026). Für die Frage „wo habe ich das erwähnt“ ist rg nach unserer Einschätzung schneller und berechenbarer als jede aufwendigere Lösung.
Die Grenze ist der genaue Wortlaut. rg findet die Seite nicht, auf der du ein Konzept mit anderen Wörtern beschrieben hast. Dafür gibt es den Graphen und den Index.
Obsidian-Suche
Für die Suche von Hand taugt die eingebaute Suche von Obsidian. Diese Operatoren lohnen sich:
| Operator | Findet | Beispiel |
|---|---|---|
path: |
Text im Dateipfad | path:wiki/concepts abruf |
file: |
Text im Dateinamen | file:leitner |
tag: |
Dateien mit einem Tag | tag:#unverified |
line: |
Dateien, in denen eine Zeile alle Begriffe enthält | line:(schlaf gedächtnis) |
section: |
Begriffe im selben Abschnitt zwischen zwei Überschriften | section:(abruf schlaf) |
[eigenschaft:wert] |
einen Wert im Frontmatter | [type:source] |
line: filtert die meisten Fehltreffer heraus. Zwei Wörter, die irgendwo auf derselben Seite stehen, haben oft nichts miteinander zu tun. Stehen sie in derselben Zeile, meist schon.
Dataview
Dataview · engl. DataviewEin Community-Plugin für Obsidian, das Frontmatter und Inline-Felder wie eine Datenbank abfragt. Die Ergebnisse erscheinen als Liste oder Tabelle direkt in der Notiz.Im Glossar fragt das Frontmatter · engl. frontmatterEin Block mit Metadaten im YAML-Format ganz oben in einer Markdown-Datei, zwischen zwei Zeilen mit drei Bindestrichen. Obsidian zeigt ihn als Eigenschaften der Seite an.Im Glossar ab. Dort werden die Strukturfragen beantwortet. Das Plugin kennst du aus der Lektion Obsidian-Plugins.
```dataview
TABLE updated, tags FROM "wiki/concepts"
WHERE contains(tags, "unverified")
SORT updated ASC
```
Die Abfrage listet alle Konzeptseiten mit dem Tag unverified, die am längsten nicht bearbeitete zuerst. tags ist hier das Feld aus dem Frontmatter, deshalb steht der Wert ohne #. contains unterscheidet Groß- und Kleinschreibung.
Alles, was sich als „welche Seiten haben Eigenschaft P“ formulieren lässt, ist eine Dataview-Abfrage. Lässt du stattdessen den Agenten Dateien lesen, ist das langsamer und unzuverlässiger.
Die letzte Dataview-Version erschien im April 2025. Seit Version 1.9.10 (August 2025) bringt Obsidian mit Bases ein eigenes Kern-Plugin mit, das aus Eigenschaften Tabellenansichten baut, die du filterst und sortierst. Für die Abfragen in diesem Kurs reicht Dataview. Stand: Nov. 2026.
Kombinieren
Das Muster, das funktioniert: Dataview oder rg liefern eine Menge an Kandidaten, der Graph erweitert sie, und der Agent liest und fasst zusammen.
Schritt 1 von 3
Kandidaten filtern
Dataview oder ripgrep wählen in Millisekunden die Seiten aus, die eine Eigenschaft oder ein Wort haben, etwa alle mit dem Tag unverified.
Finde jede Seite mit dem Tag unverified, folge ihren Links und sag mir,
welche Aussagen von unbestätigten Quellen abhängen.
Erst mechanisch filtern, dann urteilen. Lässt du den Agenten das Filtern übernehmen, liest er alles und verbraucht Kontext für Seiten, die eine Abfrage in Millisekunden ausgeschlossen hätte.
Welches Werkzeug zuerst?
Ordne jede Aufgabe dem Werkzeug zu, mit dem du anfängst.
Noch offen (6)
- Wo habe ich das Wort „Leitner“ überall verwendet?
- Welche Quellen haben kein Feld author?
- Welche Konzeptseiten wurden seit 90 Tagen nicht aktualisiert?
- Fass zusammen, was meine fünf Seiten zu Schlaf gemeinsam sagen
- In welchen Dateien stehen „Schlaf“ und „Gedächtnis“ in derselben Zeile?
- Welche Aussagen hängen an Seiten mit dem Tag unverified?
ripgrep oder Obsidian-Suche (0)
Dataview (0)
Agent liest (0)
Wenn die Suche langsam wird
Bei einem persönlichen Vault wird sie das nicht. Unser Test mit 10.000 Dateien oben blieb unter einer halben Sekunde. Fühlt sich die Suche trotzdem langsam an, liest meist der Agent zu viele Dateien. Die Suche selbst ist schnell.
Das ist ein Problem des Kontexts. Wie du es löst, zeigt die Lektion Kontextbudget.
Merksätze
rgfindet jedes Wort in tausenden Dateien in Sekundenbruchteilen, aber nur im genauen Wortlaut.- In der Obsidian-Suche grenzen
path:,file:,tag:undline:die Treffer ein.line:filtert die meisten Fehltreffer heraus. - Fragen nach Eigenschaften im Frontmatter beantwortet Dataview schneller und zuverlässiger als ein lesender Agent.
- Erst filtern Abfrage oder Suche, dann erweitert der Graph, dann liest und urteilt der Agent.
- Wirkt die Suche langsam, liest der Agent zu viel. Das löst du über das Kontextbudget.
Prüf dich selbst
Denkfrage
Du weißt, dass du über ein Konzept geschrieben hast, aber rg findet die Seite nicht. Woran liegt das, und was hilft?
rg sucht nur den genauen Wortlaut. Wahrscheinlich hast du das Konzept mit anderen Wörtern beschrieben. Lies den Index, prüf die Aliase der Seite oder folge den Links von einer verwandten Seite aus.
Denkfrage
Warum ist es eine schlechte Idee, den Agenten alle Seiten nach dem Tag unverified durchsuchen zu lassen?
Er müsste jede Datei lesen und dafür Kontext verbrauchen, auch für alle Seiten ohne den Tag. Eine Dataview-Abfrage liefert dieselbe Liste in Millisekunden und genau. Danach liest der Agent nur noch die Treffer.
Prüf dich selbst
Quellen
- ripgrep User Guide
.gitignore und versteckte Dateien werden standardmäßig übersprungen.
- Search
Operatoren path:, file:, tag:, line:, section: und Eigenschaftssuche.
- Data Commands
FROM, WHERE, SORT.
- Introduction to Bases
Kern-Plugin seit Obsidian 1.9.10.
- Tools reference
Grep baut auf ripgrep auf. Auf macOS, Linux und WSL sucht Claude Code standardmäßig über find und grep im Bash-Tool.