OpenSearch Location Type
Description
With this location type you can store execution information in an OpenSearch index.
It is a caching location: Hop keeps the execution in memory and writes one JSON document per pipeline or workflow to the index, the same document model as the Caching File, Caching Database and Elastic locations. Inspect the runs later from the Execution Information perspective.
OpenSearch is the right choice when the cluster is OpenSearch (Amazon OpenSearch Service, a self-hosted cluster, …). Use the Elastic location type against Elasticsearch.
Options
-
OpenSearch server base URL: The base URL of the OpenSearch REST API, including the port. For example:
https://localhost:9200 -
The OpenSearch username to use: HTTP basic authentication user.
-
The OpenSearch password to use: HTTP basic authentication password.
-
The index name to use: The index that stores the execution documents.
-
Ignore SSL certificate check: Skip TLS certificate verification. Useful against a local or self-signed cluster; leave this off in production.
-
Persistence delay: Maximum time to wait before a dirty cache entry is written to OpenSearch, in milliseconds (default
5000). -
Maximum cache age: Maximum time to keep an entry in memory, in milliseconds (default
86400000, one day). -
Button 'Create and configure OpenSearch index': Creates the specified index with the mappings and settings Hop needs, and shows the HTTP result.
Click Create and configure OpenSearch index once, before the first run. The request is a PUT of the index name with a mapping that:
-
treats
execution,executionStateandsummaryas nested objects -
stores dates with
epoch_millis,yyyy-MM-dd HH:mm:ss.SSSandstrict_date_optional_time -
disables indexing of
childExecutions,childExecutionStatesandchildExecutionData(they are stored but not searched) -
raises
index.mapping.total_fields.limitto500
The dialog that opens afterwards shows the status code and response body so you can see whether the index was created or already existed.
Compared to the Elastic location
Both plugins cache in memory and persist one JSON document per execution to /<index>/_doc. They are not interchangeable:
| OpenSearch | Elastic | |
|---|---|---|
Authentication | Username and password ( | API key ( |
TLS | Ignore SSL certificate check option | Uses the JVM default trust store; no ignore-SSL option |
HTTP calls | Hop REST transform (anonymous pipeline) | Java |
Create index | Nested mappings ( | Flatter dotted field names ( |
Listing executions | OpenSearch SQL ( |
|
Extra GUI filters | Parent / pipeline / workflow / finished filters are not sent: OpenSearch SQL rejects those nested conditions | Not applied on the Elastic side either; listing is |
Pick the plugin that matches the product you run. An OpenSearch cluster will not accept Elastic API keys, and Elasticsearch will not serve /_plugins/_sql.