About HPSTRA Searches
When you enable a task type for HPSTRA-indexing, all task information fields and mapped business data fields are indexed in the Elasticsearch store. Business data fields are mapped for HPSTRA indexing by default, but at task design time, you can select which fields to exclude from the index. All task business data is stored in the Task Engine database, regardless of your HPSTRA mapping.
At task runtime, when you search My Inbox, Task Engine queries the Task Engine database. However, when searching a custom task inbox that uses the HPSTRA search provider with a HPSTRA-enabled task, Task Engine queries the Elasticsearch store. Enabling HPSTRA-indexing for a task type does not automatically add the HPSTRA search provider to the generated task inbox. You can enable a task type for HPSTRA-indexing, persist task information and business data fields to an Elasticserach store, and use a custom solution to search and retrieve the task data.
By default, the includeTaskData property for the search provider in a HPSTRA task inbox is set to false, and with this setting the search retrieves only the task information fields. To include task business data in the search results for custom task inboxes, you can set the includeTaskData property to true. When the property is set to true, Task Engine retrieves the task information from the Elasticsearch store, and the task business data - from the Task Engine database. Search results are retrieved faster than those from the default search provider, even though the results include all matching fields, including the fields not mapped for Elasticsearch indexing.
Example: Searching in HPSTRA Inboxes
At runtime, the HPSTRA task inboxes provide an input field for full text searches. Full text search results are affected by the indexing type that you select when enabling HPSTRA for a task type, as described in
Modifying Task Business Data Fields.
The following search scenarios apply for a HPSTRA-enabled task business data field with the field name 'Customer Name', and value 'Maria Anders'.
When the business data field is indexed with type 'analyzed':
The Elasticsearch index contains
'maria', 'anders'A full text search for 'Anders' returns one result
A search filter with search term 'Anders' returns zero results
When the business data field is indexed with type 'not_analyzed':
The Elasticsearch index contains no index value for the field
A full text search for 'Anders' returns zero results
A search filter with search term 'Anders' returns zero results
A search filter with search term 'Maria Anders' returns one result
When the business data field is indexed with type 'stored':
The Elasticsearch index contains no index value for the field
A full text search for 'Anders' returns zero results
A search filter with search term 'Anders' returns zero results
A search filter with search term 'Maria Anders' returns zero results
However, you can retrieve the value of the 'Customer Name' field within the result set for another query, for example, when selecting all customers from a city.
For more information about Elasticsearch index types, see the Elasticsearch documentation.