Complex search

Dynamic placeholders

The following placeholders can be used anywhere in the monitor in filters/searches. These are replaced accordingly during the query of the data.

Placeholder Example replacement Description

#user.loginName#

max.mustermann

Login name of the current user.
This can be used, for example, to filter the user’s data.

Full text search in the monitor

The full text search provides the central search functionality across all fields of the currently selected monitor. You can not only enter individual search terms in the input field, but also compile complex searches using operators.

Search field of the full text search

A window for the full-text search is available to the user in the information and function area. The full-text search is carried out across all monitoring data. It works across all columns and can optionally be preset to include all process details and referenced messages.

To find data, the user enters the search term in the full-text search field in the function bar. Multiple search terms can be linked together using operators.

Operators for multiple search terms

If no operator is specified, the terms are linked with AND.

Linking search terms

If no quotation marks (") are used, the space separates two words syntactically and considers them separately. In this case, the logical AND (AND) is used as the linking operator. If you want to link with the logical OR, you must explicitly specify OR.

Example Explanation

blue auto

Searches for documents that contain "auto" in any field and "blue" in a (possibly different field).

blue OR auto

Searches for documents that contain "auto" or "blue" in any field.

auto AND (blue OR yellow)

Parentheses can be used for more complex logical links.
Searches for documents with the content "auto" and the content blue or yellow.

Limiting the search area

If you want to limit the search to a specific field, you can do this by separating the field name (column name) with a colon.

Example Explanation

VEHICLE TYPE:auto COLOR:blue

Searches for documents in which the value "auto" appears in the VEHICLE TYPE field and the value "blue" in the COLOR field.

Exclude search terms

You can also negate/exclude the search or parts of the search.

Example Explanation

VEHICLE TYPE:auto -COLOUR:blue

Searches for documents in which the value "auto" occurs in the VEHICLE TYPE field and the value "blue" does not occur in the COLOUR field.

Search for (non-)existing fields

If you want to find documents in which certain fields exist or are explicitly missing, you can work with the keywords _missing_ and _exists_.

Example Explanation

\exists:KAEUFER AND \missing:SONDERAUSSTATTUNG

Searches for documents with the field KAEUFER, regardless of content, without the field SONDERAUSSTATTUNG.

Placeholders (wildcards) can also be used for fields that contain text. There are two different wildcards.
The ? stands for any character (only one character) and * stands for an unspecified number of any characters.

Example Explanation

COLOR:gr*

Searches for colors beginning with "gr", such as "green" and "gray" and "gray-blue".

COLOR:gr??

This search would also find "green" and "gray", but not "gray-blue".

For fields with text, it is possible to search for "similar" words. This can be used to find words containing typing errors, for example.

Example Explanation

COLOR:blue~

Also finds the color "blua".
The Damerau-Levenshtein distance is used to find all terms with a maximum of two changes, whereby a change is the insertion, deletion or replacement of a single character or the transposition of two adjacent characters.

COLOR:blue~3

Changes the distance after the operator.

Intervals can be specified for date or number fields.
Inclusive intervals (which include the limits) are specified with square brackets [min TO max] and exclusive intervals (which do not include the limits) with curly brackets {min TO max}.
Curly and square brackets can be combined.

Alternatively, the operators <, >, <= and >= can also be used if there is a restriction from one side only.

Example Explanation

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

All days in 2012

NUMBER: [1 TO 5]

Numbers 1 to 5

NUMBER:[10 TO *]

Numbers from 10 upwards

DATE:{* TO 2012-01-01}

Dates before 2012

NUMBER:[1 TO 5}

Numbers from 1 to 4

AGE:>10
AGE:>=10
AGE:<10
AGE:⇐10

Areas with a page without a limit

Special characters in the search term

If the search term contains special characters that normally represent an operator for the search, these must be masked (escaped) with \. This masked text is then not treated as an operator, but as normal text.

Example Explanation

"how old are you\?"

Uses the entire sentence as a search term and hides ? as an operator.

Limitation for complex search queries

By default, the number of concatenated search terms in OpenSearch is limited to 1024. A text search that does not refer to a specific field generates one search term per field internally. For indices with many fields and several logical links (AND, OR), the limit of 1024 terms can therefore be reached quickly. In this case, the error message appears: too_many_nested_clauses.

If this error occurs, the search query should be optimized by a targeted field search (column search).

If it is absolutely necessary to use more complex search queries, the limit can be adjusted in the configuration file OPENSEARCH_CONFIG_VERZEICHNIS/opensearch.yml by adding the following line:

indices.query.bool.max_clause_count: 2048

The value (here 2048) can be adjusted as required. After the change, OpenSearch must be restarted.

Increasing this limit is not recommended, as very complex search queries can significantly impair system performance.

Overview of search parameters/operators

Operator Function Example

"

merges several words as a phrase

"blue auto"

()

groups operators to link them with other searches via AND/OR

auto AND (COLOR:blue OR COLOR:yellow)

*

signals a substring search with any number of variable characters

COLOR:bl*

?

signals a substring search with one variable character

COLOR:bl??

~

Fuzzy search

COLOR:blue~

\

Treats reserved operators as normal text.

"how old are you\?"

AND

Boolean AND function

OneText AND SecondText

OR

Boolean OR function

OneText OR SecondText

-

excludes phrase

OneText - SecondText

Column:

Column search

Column1:OneText

\missing

Entries without value in column1

\missing:Column1

\exists

Entries with value in column1

\exists:Column1

[min TO max]

Interval search with inclusive limits for number and date fields

id:[1 TO 10]

{min TO max}

Interval search with exclusive limits for number and date fields

Date:{* TO 2012-01-01}

<,>,<=,>=

Filter operators for numeric comparisons: less than, greater than, less than or equal to, greater than or equal to

Cost:>500


Keywords: