Toggle menu

Process Instance Search Indexing

Workflow process indexing and querying is still in beta. Please be aware that the functionality described below is still under review and may change.

The following methods are used to manage and query process instance data held in the SOLR search collection.

The initial search collection is built via an iCM Scheduled Tasks. Indexing must also be enabled in the Workflow worker configuration. Once the collection has been built it is kept up to date by the workflow worker (ie as new process instances start they are added, if they are deleted they are removed, and as variables change they are updated).

The SOLR search collection is a secondary data store (the primary being the database itself) and as such there can be a short delay between data being updated and that update being present in the search collection.

Process Variables

Process variables created by form submissions are only indexed if the form fields they relate to (ie the field with the same name as the variable) are set as searchable in the "summary form" used by the process instance (the summary form a process uses is named in the _summaryForm process variable). In most cases that will be the form that started the process instance, but a different form can be set on the Workflow - Start Action field.

To set a field as searchable, set the Searchable property as true:

Searchable Property
 

All of the searchable variables are indexed into a single field, pipe separated, where each entry is a key value pair, made up of the name of the variable and its value. For example "form_eventlocation:24 darklake view|form_eventexperience:food & drink". This field is queried when you use the PROCESSVARSCOMBINED filter.

Each searchable variable is also indexed into its own dynamic field in the search collection which can be used as the key in the KEYWORD operator. These fields are used when you use PROCESSVARSCOMBINED with the LIKE operator to provide search term stemming.

The responses from getQueryTasks and getQueryProcesses will only return process variables that have been indexed.

Case Management

Case Management cases are active workflow process instances, so are indexed in a similar way to regular processes.

The following fields are always indexed, even if not set as searchable in the summary form used by the process instance:

{
    "assignGroupFull": "",
    "assignGroupName": "",
    "assignUserFull": "",
    "assignUserName": "",
    "proxyFullName": "",
    "timerPausedDelay": "",
    "timerPausedTarget": "",
    "updatingSLA": "",
    "form_ADDRESSTEXT": "",
    "form_CASESTAGENAME": "",
    "form_CASETARGETDATE": "",
    "form_CASETYPE": "",
    "form_CASESUBTYPE": "",
    "form_EMAILADDRESS": "",
    "form_LOCATION": "",
    "form_NAME": "",
    "form_NEWTARGETDATE": "",
    "form_ONBEHALFOFNAME": "",
    "form_PHONENUMBER": "",
    "form_POSTCODE": "",
    "form_STATUS": ""
}

getQueryProcesses

Query the indexed process collection.

getQueryTasks

Query the indexed task collection.

purgeCollection

Deletes the collection.

refreshCollection

Indexes process instances with optional start and length parameters.

verifyCollection

Ensures that the search collection has the same processes and tasks as the database.

verifyProcesses

Tidies the collection for the supplied business keys or process IDs.

Filters

The filters that can be used when querying tasks and process instances.

Geographical Querying

You can make location based queries to find indexed process instances and tasks that contain geographical data.

Share this page

Facebook icon Twitter icon email icon

Print

print icon