Search Syntax

The query input box can be used to construct a search query. This section describes the syntax of a search query.

Search queries can contain:

  • Model type and model name references

  • Model attribute and nested model attribute references

  • Key words

  • Brackets for grouping

  • Query string to search for

    Valid query string characters are:

    • alphanumeric characters
    • !@#$%^&*-_=+<,.>/?|[{]}~`
    • to search for single quote in a string, wrap the string in double quotes
    • to search for double quote in a string, wrap the string in single quotes

Since a search query is carried out on models, the specific model type and model name can be specified in the query.

The query format is indicated below:

type/name is the syntax for a full reference to a model type (for example relation, data, or device) and model name (for example Countries).

A number of keywords are available to construct a search query.

Keyword Types

Three types of keywords are available:

  • Specification - WITH
  • Matching - IS, LIKE
  • Grouping - AND, OR
Keyword Description and Examples
WITH

Restricts the search to look for only specific data types. In the example below we have specified the data type Countries and so only countries will be returned.

((data/Countries WITH country_name LIKE Kingdom) AND
 (data/Countries WITH country_name LIKE Unite ))
IS

For a result to be returned the data attribute must match exactly the ‘input’. In the example below the ‘input’ is Spain and only a Country with the attribute country_name Spain will be returned. If ‘North Spain and South Spain existed they would not be returned. In the example below we have specified the data type Countries and so only countries will be returned. If we had not specified a data type then the search would cover all data types looking for an attribute country_name.

country_name IS Spain

data/Countries WITH country_name IS Spain

Another example with a model tag as reference:

tag IS "featurea"
CONTAINS

Matching is done by substring and is the default parameter. For a result to be returned, the data attribute must contain ‘input’. In the example below, the ‘input’ is ‘Sw’ and the search would find both ‘Sweden’ and ‘Switzerland’.

data/Countries WITH country_name CONTAINS Sw
Keyword Description and Examples
LIKE

Matching is done by fuzzy search. For a result to be returned, the data attribute must nearly match ‘input’. In the example below, the ‘input’ is ‘swe’ and the search would find both ‘Sweden’ and ‘Switzerland’.

data/Countries WITH country_name LIKE swe
AND

This grouping term allows you to combine different searches and only finds a result where both conditions are met. The example below the search would find ‘United Kingdom’ but not the ‘Kingdom of Bhutan’ as in this case the second condition (LIKE Unite) is not true.

((data/Countries WITH country_name LIKE Kingdom) AND
 (data/Countries WITH country_name LIKE Unite ))
OR

This grouping term allows you to combine different searches and matches a result where any one or both of the conditions are met. The example search below would find ‘United Kingdom’, ‘United States’ and ‘Kingdom of Bhutan’.

((data/Countries WITH country_name LIKE Kingdom) OR
 (data/Countries WITH country_name LIKE Unite))

Search Syntax Diagrams

search-syntax

Search Examples

Where the attribute of a model is nested in an object, the reference to the attribute in the search query requires a model type specification.

For example, for a model data/User with an attribute in a nested object called account_information, the query should take the model type (data) specifier:

data/User WITH data.account_information.credential_policy IS Default

The following query will not yield results:

data/User WITH account_information.credential_policy IS Default

Brackets should be used in a query with matching and grouping operators. In a query containing no model references, brackets are evaluated first. The order of bracket evaluation is inner to outer brackets.

Example Queries (line breaks added):

(((data/Countries WITH pstn_access_prefix IS 9) AND
  (data/Countries WITH emergency__access_prefix IS 112))
 OR (data/Countries WITH international_access_prefix IS 00))

Search String Format

The string to search for can be specified with the following properties:

Multi-word and quotes

Enclose in quotes. Single- and double quotes are supported. Example: 'United States'

When single word or multi-word values contain a single or double quote, the string needs to be enclosed in double or single quotes respectively, for example: "L'Amour".

Case sensitivity
Use the appropriate operator (LIKE)

In a query containing model references, brackets and grouping keywords, the query is evaluated in the order.

Order Element Description
1 WITH Model reference is evaluated first.
2 brackets Brackets evaluate before grouping keywords.
3 AND AND grouping evaluates before OR grouping.
4 OR Evaluates last.

A number of attributes from the meta data of a model can also be searched:

  • __device_pkid: if a device pkid is known, then for example:

    device/cucm/Line WITH __device_pkid IS 55c32b59a6165451e04f392a

  • pkid: if a pkid is known, then for example:

    data/CallManager WITH pkid IS 55c32b59a6165451e04f392a

  • tags (can also use “tag”): if the tag name is known, then for example:

((data/FieldDisplayPolicy WITH tag IS feature_tag_add_customer) AND
 (data/FieldDisplayPolicy WITH tags IS applicationendtoend))

Note

Only tags that are written in lower case are searchable.