Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

Using full-text search based in Elasticsearch

Updated on May 11, 2022

The search functionality in Pega Platform provides a convenient way of finding rules, work items, and the documents that you upload to your application. For example, you can search for a specific assignment, and then check the assignment status to determine the remaining workload.

The search functionality also provides the option to check the status of classes that you index.

Pega supports integrating Elasticsearch for your searching functionality differently by deployment type as described in the following table:

Pega Platform search options depend on your deployment type

Deployment TypeUse the Elasticsearch embedded in the Pega applicationConnect to a node running an Elasticsearch docker imageConnect to Elasticsearch using the Pega Search and Reporting Service (SRS)
On-premises without KubernetesSupported using Elasticsearch version 5.6.9Supported using Elasticsearch version 5.6.9 using Pega Elasticsearch pluginsNot supported
Client-managed cloudNot supportedDefaultSupported on Pega Platform 8.6 and later but optional
Pega Cloud ServicesManaged by Pega Cloud

Embedded search functionality

Beginning in Pega Platform 7.1.7 Pega began supporting search using Elasticsearch running as an embedded technology within your Pega deployment using the same JVM. Pega supports embedded search in Pega Platform, which leverages Elasticsearch version 5.6.9.

Pega-provided External search service

Beginning in Pega Infinity 8.2, Pega began support for an externalized Elasticsearch service you run outside of your Pega application deployment. Pega supports the use of this externalized search service in any type of deployment and provides search by the configuration of a REST endpoint pointing to the URL of an external Elasticsearch service.

  • In on-premises systems, full-text search may be configured to use an external service running Elasticsearch version 5.6.9 using a Pega-provided Elasticsearch plug-in. For complete configuration details, see Configuring client-server mode for Elasticsearch on Pega Platform.
  • Client-managed cloud deployments include an externalized search service you deploy using a Pega-provided Docker image for search that includes the required plug-ins so your Pega applications automatically connect to search. For more information, see the details for Elasticsearch in Understanding the Pega deployment architecture.

Search and Reporting Service (SRS)

Client-managed cloud deployments of Pega Infinity 8.6 and later support a search option delivered through a Pega-provided Search and Reporting Service (SRS). The Pega SRS is not supported in VM deployments. Deployments that use SRS require you to download and then reference the Pega-provided Search and Reporting Service Docker image in your deployment configuration. Your deployment configuration defines your SRS deployment resources as well as your Elasticsearch service and subsequent storage options. Pega supports the following deployment options:

  • SRS nodes that run as a cluster within your deployment and by default provision three Elasticsearch nodes using Elasticsearch version 7.1.x cluster each with 30GB of storage.
  • SRS nodes that you can connect to your existing Elasticsearch service by accessing the appropriate DNS domain within your enterprise network.

For your SRS configuration options, see BackingServices Helm chart.

Indexed classes for both Embedded Elasticsearch and the Pega-provided External search service

The actions that you can perform on indexes depend on the type of index. The following indexed class types are available:

Default indexes
Typeless indexes for Rules-, Data-, and Work- classes.
Dedicated indexes
Indexes for specific classes that you can independently configure.
Custom indexes
Special purpose indexes that you create and manage outside of Dev Studio.

Indexed classes for SRS

For full-text search using SRS, search continuously propagates changes automatically to your application by using queue processors with a short delay. Indexing your data requires a data model, which consists of the relevant application records and custom search properties. For more information, see Relevant records for rule reuse and Custom search properties.

The actions that you can perform on indexes depend on the type of the index. The following indexed class types are available:

Rule- class instances
Indexed rules that are available for search in Dev Studio. All Rule- type classes are indexed in the All Platform Rules class.
Data- class instances
Classes that are indexed in the All Platform Data class, or as independent classes.
Work- class instances
Classes that are specified in the data model that are indexed independently.

Work item search considerations

Using full-text search reduces the chances of work users entering a duplicate work item, and provides faster access than structured searches. Full-text search can affect system performance during indexing, and can produce many results that require further review and qualification.

If your application uses a composite portal, include the following standard sections: @baseclass.FindWork and @baseclass.SearchField.

  • Pega search API

    Search functionality in Pega Platform provides the option to find specific information within your application. For example, in a healthcare application, you can search for Jones AND vaccine to retrieve results about all people named Jones who received a vaccine.

  • Search and Reporting Service overview

    Search and Reporting Service is a feature that provides effective search capabilities by externalizing the full-text search functionalities into an independent microservice. The independence of the Search and Reporting Service improves maintenance because, for example, you can quickly add new service functionalities regardless of the Pega Platform release cycle.

  • Checking search index status

    Ensure that the data that you index into Search and Reporting Service is free of issues and fully searchable by checking the indexing status. For example, when you make changes in assignments, you can index that data, and then check the index status to ensure that your information is available to searches.

  • Enabling the indexing of classes

    Decide what data you want to make searchable in your application by permitting the system to index certain class types. For example, on the Search landing page, you can index all Work- classes to make work items searchable.

  • Configuring index host nodes

    In a multi-node clustered system, the index files required for search can be hosted on one or more nodes. To ensure high reliability and minimize search query downtime, configure at least two, and preferably three nodes as search host nodes.

  • Viewing the status of an external search service

    If you are using an external Elasticsearch service, you can view the status of the Elasticsearch service endpoint to determine whether it is online or offline. For information about configuring an external Elasticsearch service, see Configuring client-server mode for Elasticsearch on Pega Platform on Pega Community.

  • Rebuilding search indexes

    You can rebuild default or dedicated search indexes if they become corrupted or if they were accidentally deleted. Custom search indexes cannot be deleted from Dev Studio.

  • Integrating with Apache UIMA

    This feature requires advanced integration and Java skills. Visit the Apache UIMA site and contact Pegasystems for additional documentation.

  • Using virtual reports in Activities

    Load the specific report definition into the Clipboard, and modify the virtual instance of that report to maintain the original report unaffected. For example, use an Activity that leverages a report about sales, and then add a specific filter that applies only to the particular client to create a unique virtual report.

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us