Buglo: Eine hybride Suchmaschine für die Suche nach Begriffsbedeutung in vier Sprachen
*Note: Please find the original case in English here.
Buglo Play ist ein polnischer Hersteller von Spielplatzgerüsten, Stadtmobiliar und Outdoor-Fitnessanlagen. Das Unternehmen nimmt im Forbes-Ranking der europäischen Hersteller den ersten Platz ein und kann mehr als 100.000 Installationen in 60 Ländern vorweisen. Der Produktkatalog umfasst derzeit 1.013 Artikel und wird alle zwei bis drei Monate erweitert.
Bisher konnte der Katalog nur durch die exakte Übereinstimmung mit einem Suchbegriff in polnischer Sprache durchsucht werden. Architekten und Vertriebsmitarbeiter, die in einer anderen Sprache suchten oder ihre Anforderungen eher beschreibend formulierten, erhielten keine Ergebnisse.
Die Herausforderung
- Der Buglo-Katalog konnte nur mithilfe einer exakten Stichwortübereinstimmung auf Polnisch durchsucht werden.
- Bei Suchanfragen auf Englisch oder Deutsch erhielten Landschaftsarchitekten und Vertriebsmitarbeiter keine Ergebnisse.
- Die technischen Normen waren in separaten PDF-, DOCX- und MD-Dateien gespeichert. Es gab keine Möglichkeit, Fragen zu stellen.
- Der Katalog und die dazugehörige Dokumentation müssen ständig erweitert werden. Deshalb war ein Design erforderlich, das dieses Wachstum bewältigen kann, ohne dass eine Neugestaltung der Architektur notwendig wird.
Die Lösung
- Entwicklung einer hybriden Suchmaschine mit BM25-Schlüsselwortabgleich, OpenAI-Embeddings und BGE V2M3-Reranker mit Ähnlichkeitsschwellenwert.
- Mehrsprachige Suche in vier Sprachen: Polnisch, Englisch und Deutsch gemäß Vertrag sowie Ungarisch.
- Indizierung der 1.013 Artikel über die Buglo-eigene API mit Endpunkten für vollständige, inkrementelle und Einzelprodukt-Neuindizieren.
- Wissensdatenbank für PDF-, DOCX- und PDF-Dokumente nach mehreren Normen, Versionsverwaltung, Prüfprotokoll und Regel zur Priorisierung neuerer gegenüber älteren Versionen aufbauen.
- Es wurde ein Endpunkt für Fragen in natürlicher Sprache über die Wissensdatenbank mit der Quellseite hinzufügen.
- Das Modul wird als eigenständiges Backend mit API, tokenbasierter Authentifizierung und getrennten Benutzer- und Administratorrollen bereitstellen.
- Die Suchfunktion als dokumentierten Endpunkt bereitstellen, um von anderen Buglo-Tools wiederverwendet zu werden. Die Buglo-Entwickler erstellen das Frontend und binden es in ihre Plattform ein.
- Das Pilotprojekt auf auf die textbasierte Suche und APIs für externe Modelle beschränken. Die bildbasierte Ähnlichkeitssuche und das Hosting von Modellen außerhalb des Umfangs.
Die Ergebnisse
• Geliefert wie vereinbart innerhalb von zwei Wochen nach Projektstart.
• Die vollständige Katalog-Neuindizierung dauerte weniger als zwanzig Sekunden.
• Fragen aus der Wissensdatenbank werden in etwa 8 Sekunden zitiert und belegt.
• Die mehrsprachige Übersetzung in vier Sprachen geht über das vertraglich Vereinbarte hinaus.
• Beim einwöchigen Pilottest traten keine Fehler auf. Der CTO von Buglo bewertete den Code, die Endpunkte und die Dokumentation sehr positiv.
• Bei Projektabschluss wurden Repository und Dokumentation sowie die Rechte an Buglo übergeben.
• Als Abnahme galt ein abschließender Testlauf mit den von Buglo vorbereiteten Abfragesätzen, der bestanden wurde.
• Buglo plant derzeit eine zweite Phase, in der das Vertriebsteam automatisiert werden soll.
Das Produktwachstum übertraf die reine Stichwortsuche von Buglo
Ein wachsender Katalog kann nicht auf ein kleines Suchfeld beschränkt bleiben. Die eigenen Anforderungen von Buglos entsprechen dem Fünffachen des heutigen Volumens und das, ohne die Architektur neu zu gestalten.
Der Katalog ist in einer Postgres-Datenbank hinter der Buglo-eigenen Produkt-API gespeichert. Die Produktfotos werden separat gehostet und in denselben JSON-Feed eingebunden. Da alle zwei bis drei Monate neue Produkte und Änderungen hinzukommen, wäre ein System, das nur auf den aktuellen Umfang des Katalogs ausgelegt ist, bereits innerhalb eines Jahres veraltet.
Dies galt auch für die technischen Normen jedes Produkts. Um beispielsweise den Abstand oder eine Sicherheitsanforderung zu ermitteln, musste man die richtige einer Vielzahl von PDF-Dateien öffnen und manuell durchsuchen. Je größer der Dokumentenbestand parallel zum Katalog wurde, desto zeitaufwendiger wurde diese Aufgabe.
Hybrid-Suche findet Wörter nach Bedeutung und nicht nach exakter Übereistimmung.
Ein Katalog in einer Sprache kann nicht von jemandem in einer anderen Sprache gefunden werden. Zudem wird eine einzige Suchmethode selten sowohl einer präzisen technischen Suchanfrage als auch einer allgemeinen, beschreibenden Suchanfrage gerecht. Beide Probleme mussten gelöst werden, bevor den Suchergebnissen vertraut werden konnte.
Die zentrale Suchmaschine kombiniert den BM25-Schlüsselwortabgleich mit OpenAI-Embeddings und ordnet das Ergebnis mithilfe eines lokal gehosteten BGE-V2M3-Rerankers neu. Dafür reicht eine einzige kleine GPU-Instanz aus. Es ist das einzige Modell, das lokal und nicht über eine externe API ausgeführt wird. Das lokale Hosting wurde im Pilotprojekt aber nicht berücksichtigt. Jedes Ergebnis hat einen Ähnlichkeitswert zwischen 0 und 1, wobei ein Mindestschwellenwert gilt. Buglo kann so selbst entscheiden, wie streng die Übereinstimmung sein muss.
Es wurde eine mehrsprachige Abdeckung für Polnisch, Englisch und Deutsch vereinbart. In der Endversion wurde zusätzlich Ungarisch hinzugefügt. Suchen werden vor dem Abgleich ins Polnische übersetzt, sodass die Schlüsselwort-Ebene auch zu den Ergebnissen in anderen Sprachen beiträgt. So erfordert das Hinzufügen einer weiteren Sprache lediglich eine Konfigurationsänderung und keinen kompletten Neuaufbau. Die bildbasierte Ähnlichkeitssuche wurde bewusst aus dem vereinbarten Umfang ausgeklammert, weshalb die Laufzeit des Pilotprojekts auf zwei Wochen begrenzt blieb.
Der Produktindex wurde über drei separate Endpunkte anhand der Buglo-eigenen API neu erstellt: eine vollständige Neuindizierung, eine inkrementelle Synchronisierung nur für neue oder geänderte Artikel sowie eine Aktualisierung einzelner Produkte. Unter Demo-Bedingungen war die Neuindizierung des Katalogs mit 1.013 Artikeln in weniger als zwanzig Sekunden abgeschlossen. Somit können die Buglo-Administratoren den Index bei Bedarf aktualisieren, ohne auf einen geplanten Job warten zu müssen. Die Suche wurde als dokumentierter Endpunkt bereitgestellt, der zur Wiederverwendung durch andere Buglo-Tools vorgesehen ist. Das Frontend selbst wurde von Buglos Entwicklern erstellt und in deren Plattform eingebettet.
Normdokumente beantworten Fragen durch Verweise
Eine Produktsuchmaschine konnte keine Antwort auf eine Frage zu einer tief in einer PDF-Datei verborgenen Sicherheitsnorm liefern. Diese Lücke war jedoch von Anfang an Teil des ursprünglichen Auftrags von Buglo: die Erstellung einer Wissensdatenbank auf Basis der internen Dokumentation, deren Umfang parallel zur Produktsuche selbst festgelegt wurde.
Das Wissensdatenbank-Modul unterstützt das Hochladen, Aktualisieren, die Versionsverwaltung sowie das Löschen von PDF-, DOCX- und MD-Dokumenten. Es wurde im Rahmen eines Pilotprojekts mit über einem Dutzend technischer Normdokumente in Polnisch, Deutsch und Englisch getestet und jede Änderung wird in einem Prüfprotokoll festgehalten. Dank der Prioritätsregel „Neu vor Alt“ hat eine aktualisierte Norm Vorrang vor der Version, die sie ersetzt hat. Somit werden nicht beide Versionen nebeneinander angezeigt.
Auf dieser Basis befinden sich zwei Endpunkte. Ein Such-Endpunkt gibt die passenden Dokumentfragmente direkt aus, während ein Abfrage-Endpunkt die Frage selbst beantwortet und dabei auf die konkrete Quellseite verweist. So erfindet das Modell keine Antworten, die nicht im Dokument stehen. Bei Tests wurde innerhalb von etwa acht Sekunden eine Antwort auf eine Frage zum Mindestabstand für eine Einzelsitzschaukel geliefert, die genau auf die entsprechende Norm verwies.
Der Zugriff auf beide Module erfolgt über eine tokenbasierte Authentifizierung mit zwei Rollen. Buglo-Token werden vom Backend entschlüsselt, sodass authentifizierte Benutzer suchen können. Das Hochladen von Dokumenten, Aktualisierungen und die vollständige Neuindizierung sind den Administratoren vorbehalten. Diese Trennung war eine konkrete Anforderung und keine nachträgliche Idee, da dasselbe Backend nun sowohl die Suchfunktion als auch die administrative Dokumentenpipeline verwaltet.
Der CTO von Buglo hat das Backend nach einer Woche Testphase freigegeben
Ein Pilotprojekt ist nur so gut wie das Ergebnis mit echten Daten. Die Abnahme hing von einer abschließenden Demo mit von Buglo vorbereiteten Abfragesätzen ab. Nach dieser Demo testete das technische Team von Buglo eine Woche lang das gelieferte Backend, bevor beide Seiten das Projekt als abgeschlossen betrachteten.
Bei den Tests trat weniger ein Fehler als vielmehr eine infrastrukturelle Einschränkung auf. Buglos Hosting-Umgebung erlaubte nicht, das gleichzeitige Ausführen des Such-Backends zusammen mit der Vektordatenbank. Daher wurden die beiden Komponenten getrennt. Während dieses Durchlaufs lief der Reranker auf der CPU. Zusätzliche Rechenleistung wurde dabei als möglicher nächster Schritt gekennzeichnet. Außerdem wurden keine blockierenden Fehler gemeldet. Nach Abschluss der Arbeiten wurden das Repository und die Dokumentation an das Buglo-Team übergeben und die Rechte an den speziell für Buglo erstellten Arbeiten wie vereinbart übertragen.
In der zweiten Phase liegt der Fokus dann auf der Automatisierung des Vertriebs
Ein erfolgreiches Pilotprojekt klärt eine Frage, wirft aber gleichzeitig eine neue auf. Was sollte die nächste Phase umfassen? Für Buglo lag die Antwort darauf bereits wenige Tage nach Abschluss des Pilotprojekts vor.
Als nächster Schritt steht die Automatisierung des Vertriebsteams zur Diskussion. Zunächst konsolidiert Buglo seine eigenen Produkt- und Preisdaten über alle internen Systeme hinweg. Diese Arbeiten sind bereits im Gange. Dabei soll die für das Suchmodul entwickelte Pipeline für Produkt-Embeddings wiederverwendet und nicht ersetzt werden. Die Budgetverhandlungen für das Gesamtprogramm beginnen im September 2026.
Das Pilotprojekt zur semantischen Suche hat nicht nur das unmittelbare Problem der Katalog- und Dokumentensuche gelöst, sondern auch einen gemeinsamen Vektorindex sowie ein API-Muster entwickelt. Auf dieser Grundlage planen beide Seiten die nächste Phase, sodass die technischen Arbeiten hinter dem Suchmodul in die nächste Version übernommen werden können.
Sie haben auch eine Projektidee, die wir gemeinsam umsetzen sollten?
Die Data-Performance-Welt dreht sich schnell: Mit unserem Newsletter bleiben Sie immer up to data!