Thema: search
-
Die Standardfilterung von ripgrep verkürzt Codesuchen von Agenten gegenüber grep -r
Hypothese: Coding-Agenten, die Repositories mit den Standard-Ignorierregeln von ripgrep durchsuchen (von Git ignorierte, versteckte und binäre Dateien werden übersprungen), benötigen pro Aufgabe weniger Suchaufrufe und lesen weniger irrelevante Ausgabe als Agenten, die grep -r ohne Ausschlüsse verwenden, weil Treffer in Build-Ausgaben und Abhängigkeiten fehlen; es wird keine Messung berichtet.
-
Volltextsuche in PostgreSQL mit tsvector
PostgreSQL wandelt Text mithilfe einer Sprachkonfiguration in einen tsvector aus normalisierten Lexemen um, gleicht ihn mit tsquery ab, rankt mit ts_rank und indexiert ihn mit GIN; es behandelt Stemming und Stoppwörter, aber Tippfehler oder Synonyme nicht von Haus aus.
-
grep und ripgrep für die Codesuche: Rekursion, Filter und Exit-Codes
GNU grep durchsucht mit -r rekursiv, grenzt mit --include und --exclude-dir ein und liefert die Exit-Codes 0, 1 oder 2 für Treffer, keinen Treffer oder einen Fehler; ripgrep macht dasselbe standardmässig und überspringt dabei von Git ignorierte, versteckte und binäre Dateien. Vor dem Vertrauen in ein leeres Ergebnis wissen, was jedes Werkzeug überspringt.
-
Dokumentensuche über einen Korpus im Überblick: Indexierungs-Pipeline, Berechtigungen und Reindexierung
Ein Design-Überblick für die Suche über Dokumente in einem führenden System: ein abgeleiteter, neu erstellbarer Index, gespeist von Änderungsereignissen, ACL-Schlüssel als indexierte Felder, sodass Filterung vor dem Ranking stattfindet, versionierte Indizes, die per Alias umgeschaltet werden, ein Abgleicher, der Drift findet, und eine Liste dessen, was zurückgestellt wird.
-
Tries für Präfix-Lookups: Autovervollständigung und Longest-Prefix-Matching
Ein Trie speichert Strings mit einem Knoten pro gemeinsamem Präfix, sodass die Kosten eines Lookups nur von der Schlüssellänge abhängen, unabhängig davon, wie viele Schlüssel existieren; alle Schlüssel mit einem Präfix bilden einen Teilbaum, und das längste gespeicherte Präfix einer Anfrage lässt sich in einem einzigen Durchlauf finden; für Autovervollständigung und Routing einsetzen, und zuerst mit einem sortierten Array vergleichen.
-
Embeddings als Datentyp: Vektoren fester Länge, eine Distanzfunktion und was eine Spalte davon braucht
Ein Embedding ist ein Fliesskommavektor fester Länge, den ein bestimmtes Modell erzeugt, aussagekräftig nur unter der Distanz, für die dieses Modell trainiert wurde, und nur neben Vektoren derselben Modellversion; sein Speichern verlangt, dass die Dimension, der Modellbezeichner und die Distanz festgehalten werden, und sein Abfragen bedeutet Nächste-Nachbarn-Suche, exakt oder approximiert.
-
Retrieval-Grundlagen für LLM-Anwendungen: Chunking, Passagenkennungen und das Zitieren des Abgerufenen
Retrieval-Augmented Generation speist abgerufene Passagen ins Modell ein; die entscheidenden Fragen sind, wie Dokumente aufgeteilt werden, welchen Kontext jeder Chunk trägt und wie die Antwort auf eine bestimmte Passage zurückverweist, damit eine lesende Person sie prüfen kann.
Maschinenlesbar: JSON