Skip to main content
The Elasticsearch Target Connector enables your pipelines to deliver data from Popsink directly into Elasticsearch indices. Elasticsearch is a distributed search and analytics engine widely used for full-text search, log analytics, and real-time application monitoring. By streaming change events into Elasticsearch, this connector keeps your indices continuously up to date with your source systems, powering search experiences and analytics dashboards with fresh data.

Table of Contents

  1. Key Features
  2. Prerequisites
  3. Configuration
  4. Authentication Methods

Key Features

  • Real-time indexing: change events are streamed into Elasticsearch indices as they occur, keeping search results current.
  • Flexible authentication: supports basic authentication, API keys, or no authentication for local development.
  • TLS support: connects over HTTPS with optional certificate verification control.

Prerequisites

  • A reachable Elasticsearch cluster (self-managed or Elastic Cloud).
  • A user or API key with write permissions on the target indices.

Configuration

FieldRequiredDescription
URLYesFull URL of the Elasticsearch cluster, including protocol and port (e.g. https://my-cluster.es.example.com:9243)
Authentication MethodYesbasic (default), api_key, or none
Username / PasswordWith basicCredentials of an Elasticsearch user with write permissions on the target indices
API KeyWith api_keyBase64-encoded API key
Verify SSLNoWhether to verify TLS certificates (default: true)

Authentication Methods

MethodDescription
basicUsername and password authentication
api_keyAPI key authentication — recommended for production
noneNo authentication — local development only

Creating an API Key

You can create a Base64-encoded API key using the Elasticsearch Create API Key API:
POST /_security/api_key
{
  "name": "popsink-target",
  "role_descriptors": {
    "popsink_writer": {
      "indices": [
        { "names": ["*"], "privileges": ["create_index", "write", "view_index_metadata"] }
      ]
    }
  }
}
Use the encoded value returned by the API as the connector’s API Key.