Neuronale Suche mit Dense Vector Search in Apache Solr
Wie man eine Dense Vector Search unter der Verwendung von Python auf Apache Solr ermöglichen kann und wie sich die Suchergebnisse von klassischen Suchen unterscheiden.

15. Juni 2025, 10:26 Uhr · Quelle: Pressebox
Neuronale Suche mit Dense Vector Search in Apache Solr
Foto: Pressebox
Lazaros Koutsianos
Neuronale Suche mit Dense Vector Search in Apache Solr ermöglicht die Indexierung und Suche von semantischen Vektoren, was die Suchergebnisse erheblich verbessert. Durch den Einsatz von Deep Learning-Modellen können relevantere und kontextbezogene Ergebnisse gefunden werden, was traditionelle Suchmethoden übertrifft.

Augsburg, 15.06.2025 (PresseBox) - Die Entwicklung von Natural Language Processing und Machine Learning in den letzten Jahren bietet faszinierende Möglichkeiten im Bereich des Information Retrievals. Vor allem für das Erkennen von semantischen Zusammenhängen wird Neural Language Processing auch in der Suche (oft als neuronale Suche bezeichnet) eingesetzt. Neuronale Suche wurde im Jahr 2022 mit der Version 9.0 auch in Apache Solr eingeführt und bietet die Möglichkeit, eine Dense Vector Search in Solr durchzuführen. Dense Vector Search ist ein Feature vonApache Solr,das die Indexierung und die Suche von Dense Numerical Vektoren ermöglicht. Sowohl die Query als auch die Dokumente werden dabei als Vektoren repräsentiert. Deep Learning Modelle können verwendet werden, um diese Repräsentation zu schaffen. Dense Vector Search von Apache Solr gehört zu den sogenannten neural-network-based Methoden, die ein Teil des Neural Information Retrievals sind. In diesem Blogbeitrag möchte ich Ihnen gerne folgendes Thema vorstellen: Wie man eine Dense Vector Search unter der Verwendung von Python auf Apache Solr ermöglichen kann und wie sich die Suchergebnisse von klassischen Suchen unterscheiden.

Was ist eine Vektorsuche?

Damit ein Computer menschenlesbaren Text verstehen kann, muss man den Text in ein maschinenlesbares Format umwandeln. Eine Vektorsuche ist eine Methode, die in Data Retrieval und Information Retrieval-Systemen verwendet wird, um Elemente oder Dokumente zu finden, die einem bestimmten Suchvektor ähnlich oder eng mit ihm verbunden sind. Bei der Vektorsuche ist es möglich, verschiedene Datenpunkte wie Bilder, Texte sowie Audio-Dateien als Vektoren zu repräsentieren. Das Ziel der Vektorsuche ist es, effizient die relevantesten Vektoren zu finden, die einem Suchvektor ähnlich bzw. am ähnlichsten sind und diese abzurufen.

Unterschied zwischen Sparse und Dense Vektoren

Der größte Unterschied zwischen Sparse und Dense Vektoren ist, dass die ersten viele Null-Einträgen enthalten, während die zweiten mehrere Einträge beinhalten, die nicht „null“ sind. Das hat einen großen Einfluss auf das Suchergebnis.

Mit Sparse Vektoren werden alle Dimensionen durchsucht, um unter Tausenden Nullen ein paar Einsen (=relevante Informationen) zu finden. Ein traditioneller, invertierter Index speichert den Text auf Sparse Vektoren mit großer Anzahl an Dimensionen. Sogenannte Tokenizer können verwendet werden, um Sparse Vektoren direkt aus dem Text zu generieren. Alle üblichen, in Solr verfügbaren Query Parser können dann für die (textuelle) Suche verwendet werden.

In Dense Vektoren hingegen werden semantische Informationen (=Informationen über die Bedeutung des Textes) mit einer festen oder begrenzten Anzahl von Dimensionen gespeichert. Die Generierung von Dense Vektoren ist komplexer, da Deep Learning Modelle (wie BERT) dafür zurate gezogen werden müssen. Auch die Suche in Solr erfordert einen gesonderte Query Parser: knn (k-neareast neigbors). Dieser Query Parser findet zu einer Sucheingabe in Vektorformat die k Dokumente, deren gespeicherte Dense Vektoren dem Such-Vektor am ähnlichsten sind. Wie das in Solr genau funktioniert, wird im Folgenden anhand eines Beispiels im Detail beschrieben.

Dense Vector Search auf Apache Solr mit Python

Was innerhalb von Solr gemacht werden muss

Wir verwenden für das folgende Beispiel die Solr-Version 9.4.1. Um Dense Vector Search in Solr zu ermöglichen, muss als erstes das Schema (meist in der Datei „managed-schema“ oder „schema.xml“ zu finden) angepasst werden. Im Schema muss ein neues Feld und der passende Feld-Typ hinzugefügt werden:

Der neue Feld-Typ „knn_vector“ verwendet die Klasse DenseVectorField mit 384 Dimensionen. Je nach Modell kann die Anzahl an benötigten Dimensionen variieren. Für unser Beispiel benötigen wir insgesamt drei Felder: „id“ (die ID des Dokuments), „text“ und „vector“. In „text“ speichern wir den entsprechenden Text und im Vector-Feld dann die dafür generierten Vektor Embeddings.

Diese Konfiguration nutzen wir nun, um eine Collection in Solr zu erstellen.

Was außerhalb von Solr gemacht werden muss

1. Zuerst muss das richtige Modell ausgewählt werden, um die Vektor Embeddings zu generieren. Für diesen Zweck stellt die Open-Source-Plattform für Künstliche Intelligenz (KI) „Hugging Face“, zahlreiche, vortrainiert State Of The Art Modelle zur Verfügung. Wir verwenden das Modell „all-MiniLM-L12-v2“ vom SentenceTransformers Framework, das auf mehr als einer Billion von Trainingsinstanzen trainiert wurde. Es handelt sich um ein Natural Language Processing Modell, dass auf dem BERT Modell basiert ist und Sätze in Vektor Embeddings mit fester Anzahl von 384 Dimensionen umwandelt.

2. Nachdem das Modell ausgewählt wurde, muss die Python-Umgebung dementsprechend konfiguriert werden. Die Frameworks und Packages, die benötigt werden, sind: torch, sentence_transformers, pysolr, und pandas (optional für die Vorverarbeitung der Daten). Mit Hilfe von diesen Frameworks kann man mit Python die Textdaten in Vektor Embeddings transformieren und die Embeddings in einer Datei speichern. Pysolr ist ein leichter Python-Wrapper, der eine Verbindung zwischen Python und Apache Solr herstellen kann. Diese Verbindung nutzen wir für die Indexierung der Textdokumente und der Vektor Embeddings in Solr. Für das Beispiel haben wir 200 Dokumente mit entsprechenden Vektoren indexiert.

3. Wenn man die Textdokumente und ihre Vektor Embeddings indexiert hat, ist der nächste Schritt, die Queries, die man für die Suche verwenden möchte, ebenfalls in Vektor Embeddings zu transformieren. Dieser Schritt ist notwendig, da Solr selbst noch keine Möglichkeit bietet, den Text der Suchanfrage automatisch in Vektoren zu transformieren.

Die Daten

Wir haben die Daten, die wir für dieses Beispiel verwenden, mit ChatGPT generieren lassen. Wir haben ChatGPT gebeten, Kundenbewertungen von verschiedenen Produkten wie Kameras, Handys und Laptops (auf Englisch) zu generieren. Das Ergebnis waren 200 positive und negative Kundenbewertungen, die wir für unsere experimentelle, neuronale Suche verwendet haben.

Vergleich zwischen lexikalischer Suche und Dense Vector Search

Nachdem die Dokumente in Solr indexiert wurden, können wir mit einer Neuronale Suche loslegen. Zuerst formulieren wir eine lexikalische Suche, ohne das Dense Vector Feld zu verwenden, und beobachten das Ergebnis. Wir haben unsere Daten untersucht und wir wissen, dass das Wort „excited“ in einem Dokument vorkommt. Unsere Query ist „am excited“.

Der Solr Parser versucht Dokumente zu finden, in denen die Begriffe von unserer Suche vorkommen, und findet wie erwartet das eine Dokument, in dem „am excited“ enthalten ist.

Aber welche Ergebnisse findet nun dieselbe Query („am excited“), wenn wir stattdessen die Dense Vector Search verwenden? Für die Suche verwenden wir nun keinen Text, sondern die Vektor Embeddings Repräsentation der Query in Kombination mit dem knn-Query Parser.

Der „knn“ Query Parser findet die k nächsten Dokumente zum Zielvektor, „f“ legt das DenseVectorField (hier „vector“) fest, in dem gesucht werden soll, und „topK“ definiert wie viele Ergebnisse zurückgegeben werden sollen. Danach folgt der transformierten Query Vektor (der wie oben erwähnt, außerhalb von Solr erstellt werden muss).

Die Dense Vector Search liefert auch das Dokument mit dem Wort „excited“ als Ergebnis an erster Position. Im Gegensatz zur lexikalischen Suche berücksichtigt die Dense Vector Search aber auch den Kontext des Suchbegriffes im Satz. Das zeigt sich in den anderen beiden Ergebnissen, welche die liefert. Der knn Query Parser gibt Dokumente zurück, die genau wie „am excited“ eine besonders positive Bewertung wie „ecstatic“, „amazed“ oder „impressed“ beinhalten.

Unten sehen Sie noch die Ergebnisse von einem Vergleichsbeispiel zwischen einer lexikalischen Suche und einem Dense Vector Search für die Query „refund“. Es gibt in unseren Daten ein Dokument, das das Wort „refund“ beinhaltet, und insgesamt zwei Dokumente, in denen die Wortkombination „money back“ vorkommt.

Die Dense Vector Search hat sowohl das Dokument mit dem Wort „refund“ gefunden als auch die zwei Dokumente, in denen von „money back“ gesprochen wird. Auch in diesem Beispiel liefert die Dense Vector Search also zusätzlich zu den textuell passenden Ergebnissen auch solche, die semantisch zur Sucheingabe passen.

Fazit

Die Nutzung von Solr für die textbasierte Suche ist sehr weit verbreitet. Die Neuronale Suche auf Basis von Dense Vektoren wird hingegen noch nicht so häufig verwendet. Dass die Dense Vector Search in Solr eine sehr gute Möglichkeit ist, die Suchergebnisse semantisch zu verbessern, konnten wir hoffentlich in unserem Beitrag zeigen. Darüber hinaus können die Dense Vektoren in Solr aber auch für andere Aufgaben aus dem Machine Learning genutzt werden, wie Clustering, Klassifikation oder Regression. Lassen Sie uns gerne zusammen evaluieren, wie sich Ihre Solr-Suche mit Hilfe der Dense Vektoren auf das nächste Level heben lässt.

Software
[pressebox.de] · 15.06.2025 · 10:26 Uhr
[0 Kommentare]
Userrating von Techconsult: CosmoShop ist beste Shopsoftware Deutschlands
Eichenau, 20.07.2025 (PresseBox) - CosmoShop erreicht Platz 1 bei techconsult-Benchmark 2025/2026 Spitzenwerte bei Produktzufriedenheit und Kundenloyalität und setzt sich damit vor namhafte Player wie Shopify und Shopware. Der eCommerce-Shopsoftware Hersteller CosmoShop wurde im Rahmen des aktuellen Professional User Ratings – Digital Solutions (PUR DS) von techconsult als Branchenführer […] (00)
vor 10 Stunden
Unwetterwolke über einem Acker (Archiv)
Offenbach am Main - In Teilen Süddeutschlands werden in den kommenden schwere Gewitter erwartet. Betroffen sind insbesondere die Bundesländer Baden-Württemberg und Bayern. Der Deutsche Wetterdienst teilte am Sonntagabend mit, dass es zu Überflutungen von Kellern und Straßen sowie zu Schäden an Gebäuden, Autos und landwirtschaftlichen Kulturen durch Hagelschlag kommen könne. Die aktuellen Warnungen […] (00)
vor 1 Stunde
Für mehr Wahlbeteiligung: In UK sollen 16-Jährige an allen Wahlen teilnehmen dürfen
Das Thema ist nicht totzukriegen: Sollen 16-Jährige schon wählen dürfen? Junge Menschen haben noch jede Menge Zukunft vor sich und sollen darüber mitbestimmen dürfen, so ein gewichtiges Pro-Argument. Noch zu unreif, zu beeinflussbar, wehren die Kritiker des Jugendwahlrechts ab. Doch niemand legt im Kopf eines 18-Jährigen den Reifeschalter um, damit der Mensch ab jetzt den Durchblick hat. Wann also soll das […] (00)
vor 4 Stunden
Review: Dreame L40 Ultra AE: Kraftpaket mit Köpfchen für makellose Böden
In einem Zuhause, in dem Alltagstrubel und Sauberkeit oft schwer miteinander zu vereinen sind, wird die Bedeutung intelligenter Haushaltshelfer immer größer. Gerade wenn Haustiere, Kinder oder ein vollgepackter Terminkalender den Tagesablauf bestimmen, bietet ein smarter Saug- und Wischroboter echte Entlastung. Der Dreame L40 Ultra AE reiht sich genau in diese Kategorie ein und zeigt, wie […] (00)
vor 3 Stunden
Mario Kart World: Leak deutet auf Donkey-Kong-DLC mit Void Kong und King K. Rool hin
Ein neuer Leak sorgt für Aufsehen in der Nintendo -Community: In den Credits des kürzlich erschienenen Donkey Kong Bananza wurden die Sprecher von Void Kong und King K. Rool entdeckt – und dieselben Namen tauchen auch in den Credits von Mario Kart World auf. Da diese Charaktere bislang nicht offiziell im Rennspiel auftauchen, vermuten Fans, dass sie als DLC-Fahrer geplant sind. Ursprung des […] (00)
vor 6 Stunden
Zum Geburtstag: Das Erste blickt auf Helge Schneider
Über eine Woche vor dem Geburtstag des Künstlers veröffentlicht Das Erste die Dokumentation. Helge Schneider – The Klingerclown ist eine neue Dokumentation, die Helge Schneider im Auftrag des Südwestrundfunks (SWR) erstellt hat. Der Künstler portraitiert sich selbst, er wird am 30. August nämlich 70 Jahre alt. Die Dokumentation ist bereits am 13. August in der ARD Mediathek abrufbar, Das Erste strahlt den Film am Mittwoch, den 20. August, um […] (00)
vor 6 Stunden
Tour de France - 15. Etappe
Carcassonne (dpa) - Florian Lipowitz war am Ende der 15. Tour-Etappe «einfach nur froh, im Ziel zu sein». Nach den harten Tagen in den Pyrenäen hatte Deutschlands Rad-Jungstar eigentlich auf eine entspanntere Fahrt nach Carcassonne gehofft. Doch daraus wurde nichts. Die hektische Anfangsphase sorgte bereits früh für einen Schreckmoment beim 24-Jährigen. «Ich hatte einen kleinen Sturz, so 20, 30 […] (01)
vor 2 Stunden
Rätselhafte Nebenwirkungen: Was das PEI verschweigt
Ein Prozent Misstrauen Ein halbes Prozent klingt nicht viel. Doch in der Welt der Arzneimittelsicherheit ist diese Zahl ein Beben: Laut interner Angaben des Paul-Ehrlich-Instituts (PEI) meldete jeder 210. Teilnehmer der offiziellen SafeVac-App des Bundes einen Verdacht auf schwere Impfnebenwirkungen. Das entspricht 0,48 Prozent der rund 740.000 registrierten Geimpften – und liegt damit um ein […] (00)
vor 43 Minuten
 
Neue Domains – neue Chancen: Med-Domains, Fast-Domains, You-Domains und Talk-Domains
Koeln, 19.07.2025 (PresseBox) - Im Jahr 2025 werden vier neue Domainendungen eingeführt, die […] (00)
Die Infrastruktur hinter Windparks - Fundament, Kabeltrasse, Netzanbindung und mehr
Berlin, 19.07.2025 (PresseBox) - Die erfolgreiche Umsetzung eines Erneuerbaren Energie Projekts […] (01)
Bonn, 18.07.2025 (PresseBox) - Das Informationstechnikzentrum Bund (ITZBund) dokumentiert in seiner aktuell veröffentlichten Umwelterklärung deutliche Fortschritte bei der Einführung des europäischen […] (00)
Die Rialtobrücke in Venedig
Venedig (dpa) - Mehr als zehn Jahre nach dem Tod eines deutschen Touristen bei einer […] (01)
Das «Fate Game» steht an
Der spanische Spielfilm von Juan Galiñanes war in Deutschland kein Kassenschlager. Das ZDF bringt […] (00)
Frankreich - Deutschland
Basel (dpa) - Als Elfmeterheldin Ann-Katrin Berger nach der ausgelassenen Jubelfeier im Basler […] (05)
Dark Souls 3 feiert 2026 sein Comeback – Remaster angeblich bereits länger in Arbeit
Die „Soulsborne“-Community steht erneut vor einer Überraschung. Wie mehrere Leaker berichten, […] (00)
Stephen Colbert
(BANG) - Donald Trump ist begeistert davon, dass die 'Late Show with Stephen Colbert' abgesetzt […] (00)
 
 
Suchbegriff