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
Go to Admin Panel > Plugins > Elastic Search.
Enable the Elastic Search plugin.
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
Entities: Define entities you want to index (e.g., FILE, PURCHASE_ORDER).
Index: Create an index with the following configuration
A template.
An index mapping.
Field mappings with properties.
Query fields.
Aggregation to filter search results.
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:
Go to Search > Indices > Create new Elastic Search Index. The Create index screen will be displayed.
In Setting Name, Enter the name of the index. For example:
index.number_of_shards
orindex.number_of_replicas.
See the following links for more information:In Setting Value, enter a string value. For example:
two
or2
.Specify an entity from the Datastore schema which you want to make searchable.
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.
When an index is created, its state will be
NOT_PROCESSED
. After processing the index, the state will beACTIVE
. Only indices with the statusACTIVE
are used for search.
Update an Index
It is possible to update in index in ProcessMaker IDP, however in Elastic Search, a new index will be created, and the old one will continue to exist.
Delete an Index
It is not possible to delete an index from ProcessMaker IDP. To delete an index from Elastic Search, see Use the Elastic Search Delete Index API.
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:
Navigate to YOUR_INDEX > Edit > Mappings > Create new ElasticSearch Mapping. The Create mapping screen will be displayed.
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:
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:
Field Datatype: See Elastic Search - Field Data Type.
Other Mapping Parameters: See Elastic Search - Mapping Parameters.
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.
Troubleshooting
Connection Issues: Ensure the Elastic Search server is active and the URL is correctly configured.
Indexing Problems: Review logs for errors and ensure that data formats are correct.
Performance Tuning: Optimize settings for memory allocation and query performance to enhance search efficiency.
Best Practices
Regular Monitoring: Keep track of Elastic Search performance and health metrics.
Security: Implement measures to protect Elastic Search from unauthorized access.
Backup: Regularly back up Elastic Search indices to avoid data loss..
Last updated