Enabling full text search
You can customize IBM® Business Automation Workflow to enable full text search, either for Runtime or for Authoring. You can also choose where the indexes will be located, either in an OpenSearch cluster provided by Cloud Pak for Business Automation or in an external OpenSearch or Elasticsearch cluster.
To learn more about potential implications associated with the enabled full text search, see also Full text search implications.
Enabling full text search for Runtime
Procedure
Enabling full text search for Authoring
Procedure
To enable full text search, you have two options: Use the OpenSearch instance that is deployed as part of Cloud Pak for Business Automation, or use your own external Elasticsearch or OpenSearch.
Full text search implications
When you enable the full text search, be also aware of some potential user experience and performance implications during high user load.
- When full text search is enabled, Process Federation Server, either embedded or external, is used as backend. As CometD notifications are not available in federated environments, Process Portal refreshes the task list automatically at a default interval of 60 seconds. If you observe a performance impact, you can adjust the default value of the com.ibm.bpm.portal.federatedRefreshInterval mashup property as needed. For more information, see Configuring mashup custom properties.
- When the task list is processed for task assignment, the system needs the list of groups that
users belong to in order to filter the tasks to return, which increases the number of requests to
the server. For example, the filter can retrieve all the tasks assigned to a given user and all the
unclaimed tasks that are available to the groups that the user is a member of. To avoid retrieving
the group list on every request, you can configure the userGroupCheckInterval
Process Federation Server
property, which controls the duration between the requests to refresh the user's cached group
information. Assigning a value to the userGroupCheckInterval configuration
property can bring some relief to the platform-identity-management pods. For more information, see
Configuration properties for federated systems.For example, you can declare a Liberty configDropin with the following content. In the example, all the properties remain unchanged except userGroupCheckInterval, which is increased from 5 minutes (300s) to 10 minutes (600s). You can adjust the value as needed.
<?xml version="1.0" encoding="UTF-8"?> <server description="IBM Process Federation Server"> <!-- REST API CONFIGURATION --> <ibmPfs_restConfig userGroupCheckInterval="600s" systemStatusCheckInterval="${env.PFS_REST_SYSTEM_STATUS_INTERVAL}" bdFieldsCheckInterval="${env.PFS_REST_BD_FIELDS_INTERVAL}" checkOwnerExist="${env.PFS_REST_CHECK_OWNER_EXIST}" scimUrl="${env.PFS_REST_SCIM_URL}" scimUsername="${PFS_REST_SCIM_USERNAME}" scimPassword="${PFS_REST_SCIM_PASSWORD}" scimTokenUrl="${env.PFS_REST_SCIM_TOKEN_URL}" scimConnectTimeout="${env.PFS_REST_SCIM_CONNECT_TIMEOUT}" scimReadTimeout="${env.PFS_REST_SCIM_READ_TIMEOUT}" scimCheckURLSpoofing="${env.PFS_REST_SCIM_CHECK_URL_SPOOFING}" /> </server>
