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.
What to do next: 
  • 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 as class-name*rule-name or class-name. For example, to see the version of the pyLabel property within the Work- class, search for Work-*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 to Content 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, and NOT 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 with def 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 word def 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 containing def exists in searched text.
    abc AND def Exact Match abc AND def Both the exact word abc and the exact word def 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 with def 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 string def may also exist anywhere within the searched text, and no words starting with ghi exist in the searched text.