> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-5e9cc07a-preview-stream-1765228345-2909855.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Elasticsearch

> [Elasticsearch](https://www.elastic.co/elasticsearch/) is a distributed, RESTful search and analytics engine.
> It provides a distributed, multi-tenant-capable full-text search engine with an HTTP web interface and schema-free
> JSON documents.

## Installation and Setup

### Setup Elasticsearch

There are two ways to get started with Elasticsearch:

#### Install Elasticsearch on your local machine via Docker

Example: Run a single-node Elasticsearch instance with security disabled.
This is not recommended for production use.

```bash theme={null}
    docker run -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "xpack.security.http.ssl.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.9.0
```

#### Deploy Elasticsearch on Elastic Cloud

`Elastic Cloud` is a managed Elasticsearch service. Signup for a [free trial](https://cloud.elastic.co/registration?utm_source=langchain\&utm_content=documentation).

### Install Client

<CodeGroup>
  ```bash pip theme={null}
  pip install elasticsearch
  pip install langchain-elasticsearch
  ```

  ```bash uv theme={null}
  uv add elasticsearch
  uv add langchain-elasticsearch
  ```
</CodeGroup>

## Embedding models

See a [usage example](/oss/python/integrations/text_embedding/elasticsearch).

```python theme={null}
from langchain_elasticsearch import ElasticsearchEmbeddings
```

## Vector store

See a [usage example](/oss/python/integrations/vectorstores/elasticsearch).

```python theme={null}
from langchain_elasticsearch import ElasticsearchStore
```

### Third-party integrations

#### EcloudESVectorStore

```python theme={null}
from langchain_community.vectorstores.ecloud_vector_search import EcloudESVectorStore
```

## Retrievers

### ElasticsearchRetriever

The `ElasticsearchRetriever` enables flexible access to all Elasticsearch features
through the Query DSL.

See a [usage example](/oss/python/integrations/retrievers/elasticsearch_retriever).

```python theme={null}
from langchain_elasticsearch import ElasticsearchRetriever
```

### BM25

See a [usage example](/oss/python/integrations/retrievers/elastic_search_bm25).

```python theme={null}
from langchain_community.retrievers import ElasticSearchBM25Retriever
```

## LLM cache

```python theme={null}
from langchain_elasticsearch import ElasticsearchCache
```

## Byte Store

See a [usage example](/oss/python/integrations/stores/elasticsearch).

```python theme={null}
from langchain_elasticsearch import ElasticsearchEmbeddingsCache
```

## Chain

It is a chain for interacting with Elasticsearch Database.

```python theme={null}
from langchain.chains.elasticsearch_database import ElasticsearchDatabaseChain
```

***

<Callout icon="pen-to-square" iconType="regular">
  [Edit the source of this page on GitHub.](https://github.com/langchain-ai/docs/edit/main/src/oss/python/integrations/providers/elasticsearch.mdx)
</Callout>

<Tip icon="terminal" iconType="regular">
  [Connect these docs programmatically](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
</Tip>
