Elasticsearch
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-freeJSON 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.
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 afree trial.
Install Client
pip install elasticsearch
pip install langchain-elasticsearch
Embedding models
See ausage example.
from langchain_elasticsearchimport ElasticsearchEmbeddings
API Reference:ElasticsearchEmbeddings
Vector store
See ausage example.
from langchain_elasticsearchimport ElasticsearchStore
API Reference:ElasticsearchStore
Third-party integrations
EcloudESVectorStore
from langchain_community.vectorstores.ecloud_vector_searchimport EcloudESVectorStore
API Reference:EcloudESVectorStore
Retrievers
ElasticsearchRetriever
TheElasticsearchRetriever
enables flexible access to all Elasticsearch featuresthrough the Query DSL.
See ausage example.
from langchain_elasticsearchimport ElasticsearchRetriever
API Reference:ElasticsearchRetriever
BM25
See ausage example.
from langchain_community.retrieversimport ElasticSearchBM25Retriever
API Reference:ElasticSearchBM25Retriever
Memory
See ausage example.
from langchain_elasticsearchimport ElasticsearchChatMessageHistory
API Reference:ElasticsearchChatMessageHistory
LLM cache
See ausage example.
from langchain_elasticsearchimport ElasticsearchCache
API Reference:ElasticsearchCache
Byte Store
See ausage example.
from langchain_elasticsearchimport ElasticsearchEmbeddingsCache
API Reference:ElasticsearchEmbeddingsCache
Chain
It is a chain for interacting with Elasticsearch Database.
from langchain.chains.elasticsearch_databaseimport ElasticsearchDatabaseChain
API Reference:ElasticsearchDatabaseChain