SOLUTIONS.search
Volltextsuche für Fachanwendungen
Treffer trotz Tippfehler, nach Relevanz sortiert und in der Sprache des Benutzers. Eingestellt an einer Stelle, für alle Anwendungen.
Ein Sachbearbeiter tippt „bosh akku“ in das Suchfeld und bekommt nichts. Der Artikel heißt „Bosch Akkuschrauber“, und er steht seit Jahren im Bestand. Die Suche hat nicht versagt, sie hat nur Buchstaben verglichen.
Buchstaben vergleichen ist noch keine Suche
In vielen Fachanwendungen besteht die Suche aus einem Textvergleich: Enthält das Feld die eingegebene Zeichenfolge, ja oder nein. Das ist schnell gebaut und genügt, solange die Liste kurz ist und jeder die Schreibweise kennt. Es hört an drei Stellen auf.
Erstens verzeiht es nichts. Ein vertauschter Buchstabe, ein fehlendes „c“, und der Treffer ist weg. Zweitens kennt es keine Reihenfolge. Ob der Begriff im Namen steht oder beiläufig in einer Bemerkung, die Liste sortiert beides gleich. Drittens wird es mit dem Bestand langsamer: Jede Suche liest jeden Datensatz, und was bei tausend Zeilen nicht auffällt, dauert bei einer Million Sekunden.
Die übliche Antwort ist eine eigene Suchmaschine neben der Anwendung, mit eigener Datenhaltung, in die regelmäßig kopiert wird. Damit sind die Treffer so alt wie die letzte Kopie, und die Rechteprüfung muss dort ein zweites Mal hinterlegt werden.
Textvergleich oder Suchindex
Dieselbe Suche, einmal über jeden Datensatz und einmal über den Index.
Üblich
Textvergleich
- findet nur die exakte Zeichenfolge
- ein Tippfehler, und der Treffer fehlt
- keine Reihenfolge nach Relevanz
- jede Suche liest alle Datensätze
- dafür: kein Index, der beim Schreiben mitgepflegt wird
Bei uns
Suchindex
- findet Wortanfänge, noch während getippt wird
- verzeiht Tippfehler
- sortiert nach Relevanz, gewichtet nach Feld
- Sprachregeln passend zur Sprache des Benutzers
- läuft auf der vorhandenen Datenbank, ohne Kopie
In jeder Anwendung, mit derselben Rechteprüfung
Die Volltextsuche steckt im Framework, nicht in einer einzelnen Anwendung. Listen, Kanban-Ansichten, Auswahlfelder für verknüpfte Datensätze und Filter nutzen sie gleichermaßen. Wer eine neue Anwendung bekommt, bekommt die Suche mit.
Gesucht wird auch über Verknüpfungen hinweg. Ein Artikel wird über den Namen seiner Marke gefunden, ein Auftrag über den Namen des Kunden, ohne dass jemand dafür ein eigenes Suchfeld anlegt.
Die Rechte bleiben dabei, wo sie sind. Nach der Suche greift dieselbe Prüfung wie in jeder Liste der Anwendung. Das gilt auch für die Zahlen an den Filtern: Sie werden erst gezählt, nachdem die Rechte angewendet sind. Wer einen Datensatz nicht sehen darf, findet ihn nicht und zählt ihn nicht mit. Wie das Rechtemodell aufgebaut ist, steht unter Rollen und Rechte.
Tippfehler und Wortanfänge
„bosh“ findet Bosch, „akkus“ findet den Akkuschrauber. Ein Wortanfang genügt, damit schon während der Eingabe Treffer erscheinen.
Sortiert nach Relevanz
Ein Treffer im Namen zählt mehr als einer in der Bemerkung. Wie viel mehr, legt das Gewicht des Feldes fest.
In der Sprache des Benutzers
Wortstämme und Füllwörter richten sich nach der Sprache des angemeldeten Benutzers. „Schrauben“ findet auch „Schraube“.
Filter mit Anzahl
Neben jedem Filterwert steht, wie viele Treffer er liefert, gezählt nach der Rechteprüfung.
Eine Stelle, an der die Suche eingestellt wird
Welche Felder durchsucht werden und wie stark sie zählen, ist keine Frage des Quelltextes. Das regelt ein eigener Dienst, die Search Engine, für alle Anwendungen an einer Stelle. Die Anwendungen führen die Suche selbst aus. Ihre Einstellungen holen sie sich beim Start aus dem Dienst und übernehmen jede Änderung, sobald sie freigegeben ist. Der Weg dafür ist der Nachrichtendienst der Microservice-Architektur.
Anlegen muss dort niemand etwas. Jede Anwendung meldet beim Start ihre Datenmodelle und Felder, mit sinnvollen Voreinstellungen. Angepasst wird nur, was abweichen soll.
Was sich je Modell und Feld einstellen lässt
Jede Einstellung gilt für genau ein Datenmodell einer Anwendung, etwa die Artikel im Katalog.
Suchweg
Suchindex für die fehlertolerante Suche mit Relevanz, oder bewusst der Textvergleich für Modelle, in die viel geschrieben und selten gesucht wird.
je Modell
Felder
Welches Feld durchsucht wird und welches nicht. Zahlen, Datumswerte und Dateien sind nie Teil der Suche.
ein oder aus
Gewichte
Wie viel ein Treffer in einem Feld für die Reihenfolge zählt. Treffer im Hauptfeld, mit dem die Anwendung ihre Datensätze benennt, zählen zusätzlich.
wirkt sofort
Synonyme
Gleichwertig, wie Akku, Batterie und Accu, oder in eine Richtung: „Fugenmasse“ findet Silikon, aber nicht umgekehrt.
je Anwendung oder Modell
Bedeutungssuche
Findet Treffer, die dasselbe meinen, ohne dasselbe Wort zu enthalten. Optional, je Modell zuschaltbar.
optional
Bedeutungssuche, ohne dass Daten das Haus verlassen
Manche Suchen scheitern nicht an der Schreibweise, sondern am Wort. Wer „Akkuschrauber“ sucht, meint auch den „kabellosen Bohrschrauber“, obwohl beide keinen Buchstaben gemeinsam haben, auf den es ankäme. Dafür gibt es die Bedeutungssuche. Sie wird je Modell zugeschaltet und ergänzt die Textsuche, sie ersetzt sie nicht: Beide Ergebnislisten werden zu einer Reihenfolge zusammengeführt.
Dahinter steht das quelloffene Modell BGE-M3, und es läuft im Search-Engine-Dienst auf Ihrer eigenen Infrastruktur. Es wird kein Sprachmodell eingekauft, und kein Datensatz geht an einen externen Anbieter. Welcher Text eines Datensatzes in die Bedeutungssuche eingeht, bestimmt eine Vorlage, die sich gegen einen echten Datensatz prüfen lässt. Mehr zum Betrieb im eigenen Rechenzentrum steht unter On-Premise und DSGVO.
Das hat seinen Preis, und er wird vorher genannt. Beim Einschalten wird jeder Datensatz einmal berechnet, mit sichtbarem Fortschritt; bis dahin sucht die Anwendung ohne Bedeutung. Danach kostet jeder neue Suchbegriff einige Millisekunden.
Nachsehen, warum ein Treffer dort steht
Die häufigste Frage an eine Suche ist nicht, was sie findet, sondern warum dieser Treffer oben steht und jener fehlt. Die Seite Suche testen führt eine Suche so aus, wie die Anwendung sie ausführen würde, mit den Rechten und der Sprache des Testenden. Über den Treffern steht, welchen Weg die Suche genommen hat und welche Sprachregeln galten.
Jeder Treffer trägt seine Begründung: Welcher Anteil ist ein exakter Treffer, welcher ein Wortanfang, welcher ein Tippfehler, welcher kam über eine Verknüpfung, welcher über die Bedeutung. Etwa: „bosh“ wurde zu Bosch über die Marke, mit einem Tippfehler. Vorbereitete, noch nicht übernommene Änderungen lassen sich daneben legen. Pfeile zeigen dann, welcher Treffer auf- und welcher absteigt, bevor die Änderung gilt.
Warum fehlt ein Datensatz?
Für den Datensatz, den man erwartet hätte, prüft die Diagnose der Reihe nach und hält beim ersten Schritt an, der scheitert.
Im Suchindex
Ist der Datensatz überhaupt im Index angekommen?
vorhanden
Suchbegriff
Passt der eingegebene Begriff auf eines der durchsuchten Felder?
passt
Rechte
Darf der Benutzer diesen Datensatz sehen?
erlaubt
Platz im Ergebnis
Auf welchem Platz landet er, und warum dort?
Platz
Suchen ohne Treffer: das Vokabular der Benutzer
Benutzer schreiben „Flex“, die Daten sagen „Winkelschleifer“. Solche Lücken sieht niemand, solange keiner zählt. Die Anwendungen melden deshalb gebündelt je Tag und Modell, wie oft ein Begriff gesucht wurde und wie oft davon ohne Treffer. Einzelne Suchen werden nicht übertragen, einzelne Benutzer sind nicht erkennbar.
Die Auswertung sortiert nach Häufigkeit, über alle Anwendungen, für sieben oder dreißig Tage. Daneben steht der ähnlichste Begriff aus dem Bestand. Mit einem Klick wird daraus ein Synonym, und der Begriff findet künftig Treffer. Was kein Synonym braucht, etwa ein Tippversuch oder etwas, das es wirklich nicht gibt, wird ignoriert.
Einmal einstellen
Gewichte, Ausschlüsse und Synonyme stehen an einer Stelle für alle Anwendungen, nicht verstreut in deren Quelltext.
Vorher sehen, was sich ändert
Jede vorbereitete Änderung lässt sich gegen echte Suchen prüfen, bevor sie für alle gilt.
Im eigenen Haus
Suchindex und Bedeutungssuche laufen auf Ihrer Infrastruktur. Kein Dienst eines Dritten sieht Ihre Daten.
Die Pflege bleibt bei Ihnen
Welche Begriffe gleichbedeutend sind, weiß der Fachbereich, nicht das System. Die Auswertung zeigt nur, wo sich das Nachsehen lohnt.
Wo die Grenzen liegen
Eine gute Suche ist kein Selbstläufer, und ein paar Dinge gehören vorher gesagt.
Der Textvergleich bleibt eine bewusste Wahl. Für Modelle, in die ständig geschrieben und selten gesucht wird, kann er die bessere Wahl sein, weil kein Index mitgepflegt werden muss. Er liest aber bei jeder Suche alle Datensätze und findet weder Tippfehler noch Wortanfänge. Die Einstellung zeigt das mit der echten Datensatzzahl an.
Ein Index braucht Zeit. Wird ein Feld ein- oder ausgeschlossen oder ein Synonym angelegt, baut sich der Index im Hintergrund neu auf. Bis dahin gilt die alte Einstellung, und bei großen Beständen dauert das.
Zwei Benutzer sehen verschiedene Treffer. Das ist richtig so, weil die Rechte gelten, muss aber gesagt werden, damit niemand darüber streitet, wessen Suche recht hat.
Die Search Engine ist neu. Diese Seite beschreibt den Funktionsumfang der ersten Version, Stand September 2026. Was eine bestehende Anwendung davon wann bekommt, klären wir im Einzelfall.
Weiterlesen
Häufige Fragen
Findet die Suche auch Begriffe mit Tippfehlern?
Ja, sofern das Modell über den Suchindex durchsucht wird. Dann findet „bosh“ auch Bosch, ein Wortanfang genügt für einen Treffer, und die Reihenfolge richtet sich nach der Relevanz. Im reinen Textvergleich gibt es diese Unschärfe nicht.
Brauche ich dafür eine zusätzliche Suchmaschine?
Nein. Der Suchindex gehört zur MongoDB Community Edition, auf der die Anwendungen ohnehin laufen. Ein zweites Produkt mit eigener Datenhaltung, in die nachts kopiert wird, entfällt. Ist auf einem System kein Suchindex installiert, suchen die Anwendungen automatisch wie bisher per Textvergleich.
Sieht jeder Benutzer dieselben Treffer?
Nein. Nach der Suche greift dieselbe Rechteprüfung wie in jeder Liste der Anwendung. Auch die Zahlen an den Filtern werden erst danach gezählt. Wer einen Datensatz nicht sehen darf, findet ihn nicht und zählt ihn nicht mit.
Was ist die Bedeutungssuche, und verlassen dabei Daten das Haus?
Die Bedeutungssuche findet Treffer, die dasselbe meinen, ohne dasselbe Wort zu enthalten. Sie läuft mit dem quelloffenen Modell BGE-M3 im Search-Engine-Dienst auf Ihrer eigenen Infrastruktur. Es wird kein Sprachmodell eingekauft, und die Daten gehen an keinen externen Anbieter.
Woher kommen die Synonyme?
Zum größten Teil aus der Auswertung der Suchen ohne Treffer. Dort steht, wonach Benutzer vergeblich gesucht haben, daneben der ähnlichste Begriff aus dem Bestand. Mit einem Klick wird daraus ein Synonym für das Modell oder die ganze Anwendung.
Kann ich nachvollziehen, warum ein Datensatz nicht gefunden wird?
Ja. Die Diagnose prüft Schritt für Schritt, ob der Datensatz im Suchindex steht, ob der Suchbegriff passt, ob Ihre Rechte ihn zulassen und auf welchem Platz er landet. Sie hält beim ersten Schritt an, der scheitert, und sagt das Ergebnis in einem Satz.
Muss jede Anwendung einzeln eingerichtet werden?
Nein. Die Anwendungen melden ihre Modelle und Felder beim Start selbst, mit sinnvollen Voreinstellungen. Angepasst wird nur, was abweichen soll, und zwar zentral in der Search Engine.
Sprechen Sie mit uns.