Enabling full text search
You can customize IBM® Business Automation Workflow to enable full text search, either for Runtime or for Authoring.
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
Customize IBM Business Automation
Workflow Runtime to enable full
text search.
Procedure
Enabling full text search for Authoring
Customize IBM Business Automation
Workflow Authoring to enable full
text search.
Procedure
To enable full text search, you have two options: Use the OpenSearch instance that is deployed as part of Business Automation Workflow on containers, 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 the Process Federation Server index.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>
