Komplexe Suche
Dynamische Platzhalter
An allen Stellen im Monitor können in Filtern/Suchen folgende Platzhalter verwendet werden. Diese werden während der Abfrage der Daten entsprechend ersetzt.
| Platzhalter | Beispiel-Ersetzung | Beschreibung |
|---|---|---|
|
max.mustermann |
Anmeldename des aktuellen Benutzers. |
Volltextsuche im Monitor
Die Volltextsuche stellt die zentrale Suchfunktionalität über alle Felder des aktuell angewählten Monitors bereit. In das Eingabefeld kann man nicht nur einzelne Suchbegriffe eingeben, sondern mittels Operatoren komplexe Suchen zusammenstellen.
Dem Anwender steht im Informations- und Funktionsbereich ein Fenster zur Volltextsuche bereit. Die Volltextsuche erfolgt über alle Monitoring-Daten hinweg. Sie funktioniert spaltenübergreifend und kann optional inkl. aller Prozessdetails sowie referenzierten Nachrichten voreingestellt werden.
Um Daten zu finden, gibt der Anwender den Suchbegriff in das Feld der Volltextsuche in der Funktionsleiste ein. Mehrere Suchbegriffe können über Operatoren miteinander verknüpft werden.
Wird kein Operator angegeben, werden die Begriffe mit UND verknüpft.
Verknüpfung von Suchbegriffen
Wenn man keine Anführungsstriche (") verwendet, dann grenzt das Leerzeichen zwei Wörter syntaktisch voneinander ab und betrachtet diese getrennt.
In diesem Fall wird das logische UND (AND) als Verknüpfungsoperator verwendet.
Will man mit dem logischen ODER verknüpfen, muss man explizit OR angeben.
| Beispiel | Erklärung |
|---|---|
|
Sucht nach Dokumenten, die in irgendeinem Feld "auto" und in einem (eventuell anderen Feld) "blaues" enthalten. |
|
Sucht nach Dokumenten, die in irgendeinem Feld "auto" oder "blaues" enthalten. |
|
Für komplexere logische Verknüpfungen kann man Klammern verwenden. |
Eingrenzung des Suchbereiches
Wenn man die Suche auf ein bestimmtes Feld eingrenzen möchte, dann kann man dies tun, indem man den Feldnamen (Spaltennamen) mit einem Doppelpunkt getrennt voranstellt.
| Beispiel | Erklärung |
|---|---|
|
Sucht nach Dokumenten in denen im Feld FAHRZEUGTYP der Wert "auto" vorkommt und im Feld FARBE der Wert "blau". |
Ausschließen von Suchbegriffen
Man kann auch die Suche bzw. Teile der Suche negieren/ausschließen.
| Beispiel | Erklärung |
|---|---|
|
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
Möchte man Dokumente finden, in denen bestimmte Felder vorhanden sind oder explizit fehlen, kann man mit den Schlüsselwörtern _missing_ und _exists_ arbeiten.
| Beispiel | Erklärung |
|---|---|
|
Sucht nach Dokumenten mit dem Feld KAEUFER, egal welchen Inhalts, ohne dem Feld SONDERAUSSTATTUNG. |
Wildcard-/Platzhaltersuche
Für Felder, die Text enthalten, kann man auch Platzhalter (Wildcards) verwenden. Es gibt zwei verschiedene Platzhalter.
Das ? steht für ein beliebiges Zeichen (nur ein Zeichen) und * steht für eine unbestimmte Anzahl von beliebigen Zeichen.
| Beispiel | Erklärung |
|---|---|
|
Sucht nach Farben, die mit "gr" beginnen, wie z.B. "grün" und "grau" und "graublau". |
|
Diese Suche würde auch "grün" und "grau" finden, jedoch nicht "graublau". |
Suche nach ähnlichen Wörtern / Fuzzy Suche
Für Felder mit Texten gibt es die Möglichkeit, nach "ähnlichen" Wörtern zu suchen. Damit lassen sich z.B. Wörter finden, in denen Tippfehler vorliegen.
| Beispiel | Erklärung |
|---|---|
|
Findet auch die Farbe "blua". |
|
Verändert die Distanz hinter dem Operator. |
Bereichssuche
Intervalle können für Datums- oder Zahlenfelder angegeben werden.
Inklusive Intervalle (welche die Grenzen beinhalten) werden mit eckigen Klammern [min TO max] und exklusive Intervalle (welche die Grenzen nicht beinhalten) mit geschweiften Klammern {min TO max} angegeben.
Geschweifte und eckige Klammern können kombiniert werden.
Alternativ können auch die Operatoren <, >, <= und >= verwendet werden, wenn es eine Einschränkung nur von einer Seite gibt.
| Beispiel | Erklärung |
|---|---|
|
Alle Tage im Jahr 2012 |
|
Zahlen 1 bis 5 |
|
Zahlen von 10 aufwärts |
|
Termine vor 2012 |
|
Zahlen von 1 bis 4 |
|
Bereiche mit einer Seite ohne Begrenzung |
Sonderzeichen im Suchbegriff
Sollten spezielle Sonderzeichen im gesuchten Begriff enthalten sein, die für die Suche normalerweise einen Operator darstellen, dann müssen diese mit einem \ maskiert (escaped) werden.
Dieser maskierte Text wird dann nicht als Operator, sondern als normaler Text behandelt.
| Beispiel | Erklärung |
|---|---|
|
Verwendet den gesamten Satz als Suchbegriff und blendet |
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_VERZEICHNIS/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 |
|
|
gruppiert Operatoren, um diese mit anderen Suchen via AND/OR zu verknüpfen |
|
|
signalisiert eine Teilstring-Suche mit beliebig vielen variablen Zeichen |
|
|
signalisiert eine Teilstring-Suche mit einem variablen Zeichen |
|
|
Fuzzy Suche |
|
|
Behandelt reservierte Operatoren als normalen Text. |
|
|
Boolesche UND Funktion |
|
|
Boolesche ODER Funktion |
|
|
exkludiert Phrase |
|
|
Spaltensuche |
|
|
Einträge ohne Wert in Spalte1 |
|
|
Einträge mit Wert in Spalte1 |
|
|
Intervallsuche mit inklusiven Grenzen für Zahlen- und Datumsfelder |
|
|
Intervallsuche mit exklusiven Grenzen für Zahlen- und Datumsfelder |
|
|
Filteroperatoren für numerische Vergleiche: kleiner als, größer als, kleiner oder gleich, größer oder gleich |
|