mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-23 09:22:18 +00:00
97 lines
4.0 KiB
Markdown
97 lines
4.0 KiB
Markdown
![]() |
---
|
||
|
title: Elasticsearch
|
||
|
slug: /connectors/search/elasticsearch
|
||
|
---
|
||
|
|
||
|
{% connectorDetailsHeader
|
||
|
name="Elasticsearch"
|
||
|
stage="PROD"
|
||
|
platform="OpenMetadata"
|
||
|
availableFeatures=["Search Indexes", "Sample Data"]
|
||
|
unavailableFeatures=[]
|
||
|
/ %}
|
||
|
|
||
|
|
||
|
In this section, we provide guides and references to use the Elasticsearch connector.
|
||
|
|
||
|
Configure and schedule Elasticsearch metadata workflow from the OpenMetadata UI:
|
||
|
|
||
|
- [Requirements](#requirements)
|
||
|
- [Metadata Ingestion](#metadata-ingestion)
|
||
|
|
||
|
{% partial file="/v1.5/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/search/elasticsearch/yaml"} /%}
|
||
|
|
||
|
## Requirements
|
||
|
|
||
|
We support Elasticsearch 7.0 and above.
|
||
|
|
||
|
We extract Elasticsearch's metadata by using its [API](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html). To run this ingestion, you just need a user with permissions to the ElasticSearch instance.
|
||
|
|
||
|
|
||
|
## Metadata Ingestion
|
||
|
|
||
|
{% partial
|
||
|
file="/v1.5/connectors/metadata-ingestion-ui.md"
|
||
|
variables={
|
||
|
connector: "ElasticSearch",
|
||
|
selectServicePath: "/images/v1.5/connectors/elasticsearch/select-service.png",
|
||
|
addNewServicePath: "/images/v1.5/connectors/elasticsearch/add-new-service.png",
|
||
|
serviceConnectionPath: "/images/v1.5/connectors/elasticsearch/service-connection.png",
|
||
|
}
|
||
|
/%}
|
||
|
|
||
|
{% stepsContainer %}
|
||
|
{% extraContent parentTagName="stepsContainer" %}
|
||
|
|
||
|
#### Connection Details
|
||
|
|
||
|
- **Host and Port**: This parameter specifies the host and port of the Elasticsearch instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`. For example, you might set it to `https://localhost:9200`.
|
||
|
- **Authentication Types**:
|
||
|
1. Basic Authentication
|
||
|
- Username: Username to connect to Elasticsearch required when Basic Authentication is enabled on Elasticsearch.
|
||
|
- Password: Password of the user account to connect with Elasticsearch.
|
||
|
2. API Key Authentication
|
||
|
- API Key: API Key to connect to Elasticsearch required when API Key Authentication is enabled on Elasticsearch.
|
||
|
- API Key Id: Enter API Key ID In case of API Key Authentication if there is any API Key ID associated with the API Key, otherwise this field can be left blank.
|
||
|
- **SSL Certificates**:
|
||
|
1. SSL Certificates By Path
|
||
|
- CA Certificate Path: This field specifies the path of CA certificate required for authentication.
|
||
|
- Client Certificate Path: This field specifies the path of Clint certificate required for authentication.
|
||
|
- Private Key Path: This field specifies the path of Clint Key/Private Key required for authentication.
|
||
|
|
||
|
2. SSL Certificates By Value
|
||
|
- CA Certificate Value: This field specifies the value of CA certificate required for authentication.
|
||
|
- Client Certificate Value: This field specifies the value of Clint certificate required for authentication.
|
||
|
- Private Key Value: This field specifies the value of Clint Key/Private Key required for authentication.
|
||
|
- Staging Directory Path: This field specifies the path to temporary staging directory, where the certificates will be stored temporarily during the ingestion process, which will de deleted once the ingestion job is over.
|
||
|
- when you are using this approach make sure you are passing the key in a correct format. If your certificate looks like this:
|
||
|
```
|
||
|
-----BEGIN CERTIFICATE-----
|
||
|
MII..
|
||
|
MBQ...
|
||
|
CgU..
|
||
|
8Lt..
|
||
|
...
|
||
|
h+4=
|
||
|
-----END CERTIFICATE-----
|
||
|
```
|
||
|
|
||
|
You will have to replace new lines with `\n` and the final value that you need to pass should look like this:
|
||
|
|
||
|
```
|
||
|
-----BEGIN CERTIFICATE-----\nMII..\nMBQ...\nCgU..\n8Lt..\n...\nh+4=\n-----END CERTIFICATE-----\n
|
||
|
|
||
|
- **Connection Timeout in Seconds**: Connection timeout configuration for communicating with Elasticsearch APIs.
|
||
|
|
||
|
{% /extraContent %}
|
||
|
|
||
|
{% partial file="/v1.5/connectors/test-connection.md" /%}
|
||
|
|
||
|
{% partial file="/v1.5/connectors/search/configure-ingestion.md" /%}
|
||
|
|
||
|
{% partial file="/v1.5/connectors/ingestion-schedule-and-deploy.md" /%}
|
||
|
|
||
|
{% /stepsContainer %}
|
||
|
|
||
|
{% partial file="/v1.5/connectors/troubleshooting.md" /%}
|