Searching for a rule
Dev Studio provides full-text search for non-deprecated rules, data objects and the help system. You can search help system topics at any time. Searching for rules or data depends on system-maintained index files.
- To start a search perform one of the following actions:
- Enter one or more terms (keywords) into the search text field and press Enter.
- Leave the search text field empty and press Enter to see a list of rules recently updated by your operator.
- Click the Tick icon next to the search text field to see a list of rules that are checked out by your operator.
Use the following drop-down lists to control how results are displayed:
Table 1
Menu Option Result Result type Rules Only return instances of classes derived from the Rule– base class. Data Only return instances of classes derived from the Data– base class. Rules and Data Return results for all record types. Help Topics Only return topics available in the Pega Platform Help System. Search Type Name Evaluate the pyRuleName property for Rule– instances, the pxInsName for Data– instances, and Help topic titles when looking for a match. All Content In addition to record names and help topic titles, evaluate record data (XML) and bodies of help topics when looking for match. Match Criteria Contains Return results based on words that match any part of for the entered term(s), including in the middle of words. Starts With Return results based on words that begin with the entered term(s). Exact Match Return results based on words that exactly match the entered term(s). Scope My Current Application Only evaluate records in your current application when looking for a match. All Applications Evaluate records in your entire application stack when looking for a match. Note: By default, matches include both rules and data instances.
Changes to filtering options are remembered only for the duration of the session.
The Search tool does not search work items.
Rule–, Data– and other matches are ranked by Elasticsearch’s default relevancy ranking, based on factors such as the number of times that the search term appears in the object.
Perform advanced searches:
The search capability is implemented using robust, fault-tolerant Elasticsearch technology for use in distributed environments. Elasticsearch will detect and remove failed nodes in a cluster, automatically replicating and reorganizing nodes as needed.
Note: To take advantage of Elasticsearch distributed architecture, multiple nodes should be configured to host Elasticsearch index files. See Full text search. The search terms entered are converted into the appropriate Elasticsearch query syntax based on the search method chosen. You can enter more advanced Elasticsearch query syntax to perform complex searches.
The following general rules apply to searches:
Elasticsearch uses the (
*
) asterisk as a wildcard to match zero or more characters, and the (?
) question mark as a wildcard to match any single character. The*
character is automatically added before and after search terms when you use the Starts With (term*
) or Contains (*
term*
) search method , and you do not have to manually enter them.To search for a rule based on its Applies To class and name, select the
All Content
option for Search Type (since pyRuleName does not contain the class name), and enter a search such asclass-name*rule-name
orclass-name
. For example, to see the version of the pyLabel property within the Work- class, search forWork-*pyLabel
.If you enter two or more words, they are treated by default as a single phrase during search.
Your search string may contain characters - _ % or @. Your search string may contain a ! but escaped with a preceding \ character. Searches with any of these characters are exact match only. Searches involving other special characters such as ( [ { }]} ^ ~ * # : \ | are not supported.
When a search string is enclosed in quotes, the selected search method is ignored, and an Exact Match is always performed using the exact text within quotes.
-
Use the special syntax
property-name:value
to search for instances with a specific property value. Set the Search Type option toContent
for this type of search. Enter an exact property name, including capitalization. The searched value cannot contain any special characters. Instances whose value starts with the value entered are matched. For example,pxObjClass:Rule-Obj-Flow
returns a list of all Rule-Obj-Flow and Rule-Obj-FlowAction rules. -
You can enter more advanced Elasticsearch queries. For information about the
Elasticsearch query syntax, go to the Elasticsearch website at elastic.co.
When entering advanced syntax, select Exact Match as the Search Method. For example, you can use the Boolean operators
AND
,OR
, andNOT
to search for combinations of multiple terms and phrases. Capitalize the Boolean operators to distinguish them from the terms or phrases being combined. You can use parentheses to group conditions. See the examples below.
Table 2
Entered text Search method Syntax sent to Elasticsearch Match returned if abc
Exact Match
abc
Exact word abc
exists in searched text.abc
Starts With
abc*
One or more words beginning with abc
exist in searched text.abc
Contains
*abc*
One or more words containing abc
exist in searched text.abc def
Exact Match
abc def
Exact phrase abc def
exists in searched text.abc def
Starts With
abc def*
One or more phrases starting with the exact word abc
followed by a word starting withdef
exists in searched text.abc def
Contains
*abc def*
The string abc def
exists anywhere in searched text.“abc:01-01-01”
Any
abc:01-01-01
Exact word abc:01-01-01
exists in searched text.abc\:def
Exact Match
abc\:def
Exact word abc:01-01-01
exists in searched text.abc\:def
Starts With
abc\:def*
One or more words beginning with abc:def
exist in searched text.abc\:def
Contains
*abc\:def*
One or more words containing abc:def
exists in searched text.abc OR def Exact Match
abc OR def
Either the exact word abc
or the exact worddef
exists in searched text.abc* OR *def*
Exact Match
abc* OR *def*
Either one or more words beginning with abc
or one or more words containingdef
exists in searched text.abc AND def
Exact Match
abc AND def
Both the exact word abc
and the exact worddef
exists in searched text.abc AND def
Exact Match
abc* AND def*
Both one or more words beginning with abc
and one or more words beginning withdef
exists in searched text.(+abc* *def*) NOT ghi*
Any
(+abc* *def*) NOT ghi*
One or more words starting with abc
exists in searched text, the stringdef
may also exist anywhere within the searched text, and no words starting withghi
exist in the searched text.
Previous topic Bookmarking a rule Next topic Reporting on rules