Komplexe Suche

Dynamische Platzhalter

In allen Filtern und Suchfeldern des Monitors lassen sich dynamische Platzhalter verwenden. Diese werden bei der Datenabfrage automatisch durch die entsprechenden Werte ersetzt.

Platzhalter Beispiel-Ersetzung Beschreibung

#user.loginName#

max.mustermann

Anmeldename des aktuellen Benutzers.
Dies kann z. B. genutzt werden, um auf Daten des Nutzers zu filtern.

Volltextsuche im Monitor

Die Volltextsuche bildet die zentrale Suchfunktion über alle Felder des gewählten Monitors. Neben einzelnen Suchbegriffen lassen sich über Operatoren auch komplexe Suchanfragen formulieren.

Suchfeld der Volltextsuche

Die Suche erfolgt spaltenübergreifend über alle Monitoring-Daten. Optional kann die Suche so voreingestellt werden, dass sie auch Prozessdetails sowie referenzierte Nachrichten einschließt.

Zur Nutzung wird der gewünschte Begriff in das Feld der Volltextsuche in der Funktionsleiste eingegeben. Werden mehrere Begriffe ohne Operator eingegeben, verknüpft das System diese automatisch mit einer UND-Bedingung.

Operatoren für mehrere Suchbegriffe

Verknüpfung von Suchbegriffen

Ohne Anführungszeichen (") dient das Leerzeichen als Trenner zwischen zwei Begriffen. In diesem Fall gilt standardmäßig die logische UND-Verknüpfung (AND). Sollen Begriffe alternativ gesucht werden, ist das logische ODER (OR) explizit anzugeben.

Beispiel Erklärung

blaues auto

Sucht nach Dokumenten, die in irgendeinem Feld "auto" und in einem (eventuell anderen Feld) "blaues" enthalten.

blaues OR auto

Sucht nach Dokumenten, die in irgendeinem Feld "auto" oder "blaues" enthalten.

auto AND (blau OR gelb)

Für komplexere logische Verknüpfungen kann man Klammern verwenden.
Sucht nach Dokumenten mit dem Inhalt "auto" und dem Inhalt blau oder gelb.

Eingrenzung des Suchbereiches

Um die Suche auf ein bestimmtes Feld zu beschränken, wird der jeweilige Feldname (Spaltenname) gefolgt von einem Doppelpunkt vorangestellt.

Beispiel Erklärung

FAHRZEUGTYP:auto FARBE:blau

Sucht nach Dokumenten in denen im Feld FAHRZEUGTYP der Wert "auto" vorkommt und im Feld FARBE der Wert "blau".

Ausschließen von Suchbegriffen

Suchbegriffe oder gesamte Teilabfragen lassen sich durch Negierung gezielt aus den Ergebnissen ausschließen.

Beispiel Erklärung

FAHRZEUGTYP:auto -FARBE:blau

Sucht nach Dokumenten bei denen im Feld FAHRZEUGTYP der Wert "auto" vorkommt und im Feld FARBE nicht der Wert "blau".

Suche nach (nicht) existierenden Feldern

Um Datensätze anhand des Vorhandenseins bestimmter Felder zu filtern, stehen die Schlüsselwörter _exists_ und _missing_ zur Verfügung.

Beispiel Erklärung

_exists_:KAEUFER AND _missing_:SONDERAUSSTATTUNG

Sucht nach Dokumenten mit dem Feld KAEUFER, egal welchen Inhalts, ohne dem Feld SONDERAUSSTATTUNG.

Wildcard-/Platzhaltersuche

Für Textfelder wird die Suche mit Platzhaltern (Wildcards) unterstützt:

  • ? – Ersetzt genau ein beliebiges Zeichen.

  • * – Ersetzt eine beliebige Anzahl von Zeichen.

Beispiel Erklärung

FARBE:gr*

Sucht nach Farben, die mit "gr" beginnen, wie z. B. "grün" und "grau" und "graublau".

FARBE:gr??

Diese Suche würde auch "grün" und "grau" finden, jedoch nicht "graublau".

Suche nach ähnlichen Wörtern / Fuzzy Suche

Für Textfelder wird die Suche nach "ähnlichen" Wörtern unterstützt. Damit lassen sich z. B. Wörter finden, in denen Tippfehler vorliegen.

Beispiel Erklärung

FARBE:blau~

Findet auch die Farbe "blua".
Dabei wird die Damerau-Levenshtein-Distanz verwendet, um alle Begriffe mit maximal zwei Änderungen zu finden, wobei eine Änderung das Einfügen, Löschen oder Ersetzen eines einzelnen Zeichens oder die Transponierung von zwei benachbarten Zeichen ist.

FARBE:blau~3

Verändert die Distanz hinter dem Operator.

Bereichssuche

Datums- und Zahlenfelder unterstützen die Suche nach Bereichen:

  • <, >, <=, >= – Einschränkung von einer Seite.

  • [min TO max] – Inklusive Intervalle (beinhalten die Grenzen).

  • {min TO max} – Exklusive Intervalle (beinhalten die Grenzen nicht).

Geschweifte und eckige Klammern können kombiniert werden.

Beispiel Erklärung

DATUM:[2012-01-01 TO 2012-12-31]

Alle Tage im Jahr 2012

ANZAHL:[1 TO 5]

Zahlen 1 bis 5

ANZAHL:[10 TO *]

Zahlen von 10 aufwärts

DATUM:{* TO 2012-01-01}

Termine vor 2012

ANZAHL:[1 TO 5}

Zahlen von 1 bis 4

ALTER:>10
ALTER:>=10
ALTER:<10
ALTER:⇐10

Bereiche mit einer Seite ohne Begrenzung

Sonderzeichen im Suchbegriff

Sonderzeichen, die nicht als Operator, sondern als normaler Text behandelt werden sollen, müssen mit \ maskiert (escaped) werden.

Beispiel Erklärung

"wie alt bist du\?"

Verwendet den gesamten Satz als Suchbegriff und blendet ? als Operator aus.

Limitierung bei komplexen Suchanfragen

Standardmäßig ist bei OpenSearch die Anzahl der verketteten Suchterme auf 1024 begrenzt. Eine Textsuche, die sich nicht auf ein bestimmtes Feld bezieht, erzeugt intern einen Suchterm pro Feld. Bei Indizes mit vielen Feldern und mehreren logischen Verknüpfungen (AND, OR) kann die Grenze von 1024 Termen daher schnell erreicht werden. In diesem Fall erscheint die Fehlermeldung: too_many_nested_clauses.

Tritt dieser Fehler auf, sollte die Suchanfrage durch eine gezielte Feldsuche (Spaltensuche) optimiert werden.

Falls es zwingend erforderlich ist, komplexere Suchanfragen zu verwenden, kann das Limit in der Konfigurationsdatei <OPENSEARCH-CONFIG-DIR>/opensearch.yml angepasst werden, indem folgende Zeile ergänzt wird:

indices.query.bool.max_clause_count: 2048

Der Wert (hier 2048) kann je nach Bedarf angepasst werden. Nach der Änderung muss OpenSearch neu gestartet werden.

Die Erhöhung dieses Limits wird nicht empfohlen, da sehr komplexe Suchanfragen die Systemperformance erheblich beeinträchtigen können.

Übersicht Suchparameter/Operatoren

Operator Funktion Beispiel

"

führt mehrere Wörter als Phrase zusammen

"blaues auto"

()

gruppiert Operatoren, um diese mit anderen Suchen via AND/OR zu verknüpfen

auto AND (FARBE:blau OR FARBE:gelb)

*

signalisiert eine Teilstring-Suche mit beliebig vielen variablen Zeichen

FARBE:bl*

?

signalisiert eine Teilstring-Suche mit einem variablen Zeichen

FARBE:bl??

~

Fuzzy Suche

FARBE:blau~

\

Behandelt reservierte Operatoren als normalen Text.

"wie alt bist du\?"

AND

Boolesche UND Funktion

EinText AND ZweiterText

OR

Boolesche ODER Funktion

EinText OR ZweiterText

-

exkludiert Phrase

EinText -ZweiterText

Spalte:

Spaltensuche

Spalte1:EinText

_missing_

Einträge ohne Wert in Spalte1

_missing_:Spalte1

_exists_

Einträge mit Wert in Spalte1

_exists_:Spalte1

[min TO max]

Intervallsuche mit inklusiven Grenzen für Zahlen- und Datumsfelder

id:[1 TO 10]

{min TO max}

Intervallsuche mit exklusiven Grenzen für Zahlen- und Datumsfelder

Datum:{* TO 2012-01-01}

<,>,<=,>=

Filteroperatoren für numerische Vergleiche: kleiner als, größer als, kleiner oder gleich, größer oder gleich

Kosten:>500


Keywords: