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 "Feature A member"
|
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 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))