Pinecone Full Text Search: Neue Architektur für hybride Vektor- und Text-Suche

Pinecone erweitert seine Vektor-Datenbank um eine leistungsstarke Full Text Search. Die neue Funktion integriert Lucene-Query-Syntax, BM25-Scoring und mehrsprachige Tokenisierung direkt in die bestehende Architektur. Damit lassen sich semantische Vektor-Suche und klassische Stichwortsuche in einer einzigen API kombinieren – ein wichtiger Schritt für moderne RAG-Systeme und KI-Agenten.

Was die neue Volltextsuche leistet

Bisher mussten Nutzer bei Pinecone auf sogenannte Sparse Indexes ausweichen. Diese boten zwar Flexibilität, erforderten aber manuelle Tokenisierung, Gewichtung und das Management von Wortzählungen. Die neue Volltextsuche eliminiert diesen Aufwand und fühlt sich damit eher wie ein klassisches Suchfeld an als wie ein Data-Science-Projekt.

Neben reinen Vektor-Abfragen unterstützt die Plattform nun auch vollständige Dokumentensuchen mit mehrsprachigem Stemming, Phrasen-Matching und erweiterten Filtermöglichkeiten. Die Funktion befindet sich aktuell in der Public Preview und ist über das Python SDK erreichbar.

Warum hybride Suche für Agenten entscheidend ist

Moderne KI-Agenten müssen Code schreiben, Fragen beantworten und komplexe Aufgaben erledigen. Dazu benötigen sie präzisen Zugriff auf interne Datenbestände. Reine semantische Suche reicht dafür oft nicht aus, da sie Begriffe nicht exakt auf Schlüsselebenen filtert.

Mit der neuen Architektur lassen sich semantische Vektor-Suche, lexikalische Text-Suche und Metadaten-Filter in einer einzigen API-Anfrage verknüpfen. Ein Agent kann beispielsweise Kundengespräche nach spezifischen Signalen durchsuchen, dabei bereits bearbeitete Stichworte ausschließen und gleichzeitig geografische sowie zeitliche Rahmenbedingungen anwenden.

Technische Architektur unter der Haube

Tantivy als Fundament

Statt eine eigene Text-Search-Engine zu entwickeln, setzt Pinecone auf die etablierte Rust-Bibliothek Tantivy. Diese Entscheidung basiert auf vier zentralen Vorteilen. Zunächst profitieren Entwickler von der vertrauten Lucene-Syntax, die auch von Coding-Agenten direkt genutzt werden kann. Zudem unterstützt Tantivy 18 Sprachen out-of-the-box mit etablierten Stemming- und Tokenisierungs-Pipelines.

Ein weiterer Pluspunkt ist die Performance bei langen Queries und großen top-k-Werten. Genau diese Parameter dominieren Workloads im Bereich RAG und Agenten. Da Tantivy ebenfalls in Rust geschrieben ist, passt die Bibliothek zudem nahtlos in die bestehende slab-basierte Infrastruktur von Pinecone.

BM25-Scoring und verteilte Statistiken

Für das Ranking kommt der weitverbreitete BM25-Algorithmus zum Einsatz. Er berechnet Scores auf Basis von Termfrequenz und inverser Dokumentenhäufigkeit. In Pinecones verteilter, slab-basierter Architektur werden Statistiken pro Slab ermittelt und zur Laufzeit für die Query-Terme gemerged.

Dieser Ansatz garantiert konsistente Ergebnisse ohne kostspielige Scatter-Gather-Operationen über mehrere Maschinen. Die Abweichungen zum idealen globalen BM25 sind minimal, da BM25 logarithmisch arbeitet und kleine Frequenzunterschiede das Ranking kaum verschieben.

Neue Funktionen im Überblick

Leistungsstarke Abfragesyntax

Die Lucene-Query-Syntax ermöglicht präzise Suchanfragen über einzelne oder mehrere Felder. Nutzer können exakte Phrasen in Anführungszeichen, Boolsche Operatoren wie AND, OR und NOT, Term-Boosts mit dem Caret-Zeichen sowie Phrasen mit Slop definieren. Die Feld-Scoping-Syntax erlaubt gezielte Suchen in Titel oder Inhalt.

Text-Match-Filter und Kombination mit Vektoren

Neue Filteroperatoren ergänzen die bestehende Metadaten-Filterung: $match_phrase für exakte Wortfolgen, $match_all für alle Terme in beliebiger Reihenfolge und $match_any für mindestens einen Treffer. Diese Prädikate lassen sich über $and, $or und $not mit klassischen Metadaten-Filtern verschachteln.

Besonders mächtig wird dies in Kombination mit der dense_vector-Suche. Ein einzelner Filter-Block kann Textausschlüsse, geografische Einschränkungen und Zeiträume definieren, während die semantische Suche über den Embedding-Vektor das Ranking bestimmt.

Mehrsprachige Textanalyse

Die Tokenisierung unterstützt 18 Sprachen, darunter Deutsch, Englisch, Französisch, Spanisch und weitere. Stemming und Stop-Word-Entfernung sind optional pro Feld konfigurierbar. Standardmäßig wird Text tokenisiert und in Kleinbuchstaben umgewandelt. Wer die erweiterte Analyse aktiviert, durchläuft eine Pipeline aus Tokenizer, Längenfilter, Lowercaser, optionalem Stop-Word-Filter und Stemmer.

Performance-Benchmarks zeigen Praxistauglichkeit

Pinecone evaluierte die neue Full Text Search anhand des englischen Wikipedia-Datensatzes mit bis zu 6,4 Millionen Artikeln. Getestet wurden 5.000 komplexe Lucene-Queries sowie 500 Filter-Queries mit unterschiedlicher Selektivität. Die Latenzen liegen im Median bei rund 10 Millisekunden für kleine bis mittlere Korpora und bei etwa 23 Millisekunden für den vollen Datensatz.

Die Genauigkeit gemessen am Recall gegenüber einem brute-force-BM25-Baseline bleibt durchweg über 95 Prozent. Abweichungen treten nur dort auf, wo viele Dokumente identische BM25-Scores an der Top-k-Grenze aufweisen.

Schnellstart in der Public Preview

Die Dokumentensuche ist über das Python SDK unter pc.preview verfügbar. Entwickler definieren zunächst ein Schema mit Textfeldern, erstellen einen Serverless-Index und laden Dokumente hoch. Jede Anfrage erfordert aktuell den spezifischen API-Version-Header für die Preview-Phase. Eine Integration in weitere SDKs und die REST API folgt sukzessive.

Fazit

Mit der Einführung der nativen Full Text Search schließt Pinecone eine wichtige Lücke zwischen semantischer und lexikalischer Informationssuche. Die enge Verzahnung mit Vektor-Suche, Metadaten-Filtern und der agentenfreundlichen Lucene-Syntax macht die Plattform besonders attraktiv für RAG-Anwendungen und komplexe KI-Workflows. Wer heute eine leistungsfähige, hybride Suche in einer einheitlichen API sucht, sollte die Public Preview genauer unter die Lupe nehmen.

Quelle: https://www.pinecone.io/blog/full-text-search-architecture/

Becker Julian