Learning about search indexes
The Pega-RULES agent rebuilds indexes for Rules-, Data-, and Work- objects continuously. You can disable or enable indexing for these classes based on your system performance. For example, building and maintaining search indexes for work objects typically has a larger effect on performance than building and maintaining search indexes for rules or data instances.
How class instances are stored in the search index
When you are using a report definition to define a custom search gadget, it is helpful to understand how class instances are stored in the search index as explained in the following example.
Each search index type ( Work-, Data-, and Rule- ) stores a document for each class instance of each type. The document contains fields that represent the values of a subset of the properties in the instance.
Assume a sample class instance with only three properties:
.pyID = “WORK-1234”
.pyLabel = “Search enhancement”
.pyDescription = “Complex query”
-
All text property values, including all embedded properties, are tokenized, and the tokens (words) are stored in a field named
Content
in the search index for this instance. The
Content
field is the field used when simple search queries are entered that are designed to match any text value in an instance:
- Content: WORK-1234
- Content: search
- Content: enhancement
- Content: complex
- Content: query
- In addition, each top-level scalar property is also filterable. That is, its value is
tokenized, and the tokens for that property are stored in a separate field that supports
search queries specific to that property, like pyLabel contains enhancement:
- Content: WORK-1234
- Content: search
- Content: enhancement
- Content: complex
- Content: query
- pyID: WORK-1234
- pyLabel: search
- pyLabel: enhancement
- pyDescription: complex
- pyDescription: query
The tokenized values of embedded properties can also be filter-enabled, if specified in a Data-CustomProperties-Search instance.
- A subset of top-level scalar properties is also returnable. That is, the entire text
value is also stored in the index, so that it can be returned in search results if
desired:
- Content: WORK-1234
- Content: search
- Content: enhancement
- Content: complex
- Content: query
- pyID: WORK-1234
- pyLabel: search
- pyLabel: enhancement
- pyDescription: complex
- pyDescription: query
- pyLabel = “Search enhancement”
- Returnable properties for all index types (Rule, Data, Work): pzInsKey, pxInsName, pxObjclass, pxCreateOperator, pxUpdateOperator, pxCreateDateTime, pxUpdateDateTime
- Additional returnable properties for Work- classes: pyID, pyLabel, pyStatusWork, pyOrigUserID, pxUpdateOpName, pyResolvedTimestamp
- Additional returnable properties for Data- classes: pyClassName
- Additional returnable properties for Rule- classes: pyRuleSet, pyRuleSetVersion, pyRuleName, pyClassName, pyRuleAvailable, pxInstanceLockedBy
Previous topic Configuring full-text search Next topic Checking search index status