Elastic Search Configuration

Elastic Search in ProcessMaker IDP provides enhanced search capabilities, including full-text search, structured search, and real-time analytics. Elastic search has the following key features:

  • Full-Text Search: Perform comprehensive text searches across all indexed data.

  • Structured Search: Use advanced queries with specific filters and parameters to refine search results.

  • Real-Time Analytics: Access real-time insights and analytics based on search queries and data patterns

Setup and Configuration

  1. Go to Admin Panel > Plugins > Elastic Search.

  2. Enable the Elastic Search plugin.

  3. Enter the Elastic Search URL in the Configuration tab and save the settings.


Basic Requirements

Setting up an Elastic Search index in ProcessMaker IDP has the following requirements

  1. Entities: Define entities you want to index (e.g., FILE, PURCHASE_ORDER).

  2. Index: Create an index with the following configuration

    • A template.

    • An index mapping.

    • Field mappings with properties.

    • Query fields.

    • Aggregation to filter search results.

  3. Process Mapping: Run Process Mapping to send the Elastic Search configuration (index settings/mappings/templates) to the Elastic Search server.


Index

An index defines how an entity's data is structured and made searchable within the system. You can configure an index to specifically suit your business needs.

Indexing Data:

  • Automatic Indexing: Data within ProcessMaker IDP is automatically indexed when the Elastic Search plugin is enabled.

  • Manual Indexing: Administrators can manually trigger indexing by navigating to Admin Panel > Plugins > Elastic Search > Reindex.

Create an Index

Follow these steps to create an index:

  1. Go to Search > Indices > Create new Elastic Search Index. The Create index screen will be displayed.

  2. In Setting Name, Enter the name of the index. For example: index.number_of_shards or index.number_of_replicas. See the following links for more information:

  3. In Setting Value, enter a string value. For example: two or 2.

  4. Specify an entity from the Datastore schema which you want to make searchable.

  5. Specify an attribute from the Entity Reference to configure a script/label per index. This determines what should be shown in the grid and list view of the search results.

  6. When an index is created, its state will be NOT_PROCESSED. After processing the index, the state will be ACTIVE. Only indices with the status ACTIVE are used for search.


Index Mappings

A mapping defines how a document and its fields are stored and indexed.

Create a Mapping

Follow these steps to create a mapping for your index:

  1. Navigate to YOUR_INDEX > Edit > Mappings > Create new ElasticSearch Mapping. The Create mapping screen will be displayed.

  2. In the Mapping Name setting, entera string identifying the mapping. This is sed to establish relations with other Elastic Search components, such as Mapping Properties, Mapping Dynamic Templates, etc. For more information, see:

  3. Optionally, in the Dynamic Date Format setting, enter a date format for this index. For more information, see Elastic Search Dynamic Field Mapping.

Mapping Properties

  • Attribute Reference: Specify an attribute from the Datastore schema that you want to make searchable.

  • ES Field Mapping Name: Specify the relation to Field Mapping, which stores fine-grained Elastic Search specific settings:

  • Mapping Property Name: Enter the same name as the Elastic Search Field Mapping Name.

  • Mapping Name: Enter the mapping name to which the property belongs.

  • Parent Property: Enter a reference to the parent mapping property used in multi-field mapping. For more details, see Elastic Search - Multi-fields. Note: If you define a parent mapping property, do not define an attribute or entity reference.

Last updated