---
title: "Tutorial: Get started with the Elasticsearch Connector"
description: "Run Aerospike Database, the Elasticsearch connector, and Elasticsearch locally with Docker Compose, then stream payment dispute records from Aerospike into a searchable Elasticsearch index."
---

# Tutorial: Get started with the Elasticsearch Connector

> For the complete documentation index see: [llms.txt](https://aerospike.com/docs/llms.txt)
> 
> All documentation pages available in markdown.

::: note
Developers and operators who want to run the Elasticsearch connector locally with Docker Compose.
:::
::: undefined
This tutorial should take between 15 and 20 minutes.
:::

## Objectives

By the end of this tutorial, you will be able to:

-   Run a local Docker Compose stack with Aerospike Database, the Elasticsearch connector, and Elasticsearch.
-   Configure XDR change notification to stream dispute records into an Elasticsearch index.
-   Insert dispute records in Aerospike and confirm they reach the Elasticsearch index.
-   Run a support desk’s Elasticsearch search for a specific merchant’s open disputes.

## Introduction

Imagine developing a card issuer’s dispute-management platform. Each time a cardholder pays for something, an authorization service records the transaction and its metadata in Aerospike Database for real-time performance.

If an issue arises, cardholders dispute charges by contacting the card issuer’s support team and describing the merchant and transaction details.

> “I see two charges for pizza on my account, but I only ordered one.”

To investigate, support agents use a web search frontend powered by Elasticsearch. They search by human-readable information such as merchant name, dispute status, and dispute memo.

The Elasticsearch connector publishes backend transaction changes from Aerospike Database to an Elasticsearch index used by the support team. Cross-Datacenter Replication (XDR) change notification sends each record change to the Elasticsearch connector, which writes the change to Elasticsearch.

In this tutorial, you run that pipeline locally in Docker Compose. You load a batch of dispute records into Aerospike, confirm they reach Elasticsearch, and run the support desk’s filtered search for open cases at a specific merchant.

## What you build

The Docker Compose project stands in for three production tiers:

-   Aerospike Database as the system of record
-   the Elasticsearch connector, which receives Aerospike record changes and writes them to Elasticsearch
-   Elasticsearch as the search layer

To keep the tutorial focused, there won’t be a customer-facing web application or support interface. An Aerospike Tools container in the project lets you simulate authorization-service writes with Aerospike Quick Look (AQL), invoked with the `aql` command. The data path runs from `aql` through Aerospike Database and XDR change notification to an Elasticsearch index. By the end, you search for open disputes at one merchant and get back only the case that still needs action.

::: caution
Change notification requires a feature-key file with `asdb-change-notification` enabled. Without this entitlement, Aerospike Database fails to start when a `dc` block sets `connector true`. See [Configure change notification](https://aerospike.com/docs/connectors/elasticsearch/configure/change-notification) for delivery limits and operational cautions.
:::
::: undefined
-   I understand how XDR change notification streams records to the Elasticsearch connector.
:::

[Next  
Prerequisites](https://aerospike.com/docs/connectors/elasticsearch/learn/get-started/step/0/part/1/prerequisites)