Feature Request: Add native OpenSearch vector database support for vector storage and retrieval
Closed this issue · 0 comments
Checked other resources
- This is a feature request, not a bug report or usage question.
- I added a clear and descriptive title that summarizes the feature request.
- I used the GitHub search to find a similar feature request and didn't find it.
- I checked the LangChain documentation and API reference to see if this feature already exists.
- This is not related to the langchain-community package.
Feature Description
Summary
LangChain currently supports various vector databases like Pinecone, Chroma, FAISS, and Weaviate, but lacks native support for OpenSearch (formerly Elasticsearch OSS). OpenSearch is a widely-used, open-source search and analytics engine with robust vector search capabilities that would benefit the LangChain community.
Motivation
Enterprise Adoption: Many organizations already use OpenSearch for logging, monitoring, and search, making it a natural choice for vector storage
Cost-Effective: Open-source alternative to proprietary vector databases
Scalability: Proven ability to handle large-scale deployments
Feature Rich: Supports hybrid search (combining vector and keyword search), filtering, and advanced analytics
Self-Hosted: Allows organizations to maintain data sovereignty and control
Current Workaround
Users currently need to implement custom vector store classes or use generic Elasticsearch integrations, which don’t fully leverage OpenSearch’s vector capabilities.
Use Case
Key Features to Support
Basic Vector Operations:
Document ingestion with automatic embedding
Vector similarity search (cosine, euclidean, dot product)
Metadata filtering
Batch operations
Advanced Features:
Hybrid search (vector + keyword)
Maximum Marginal Relevance (MMR) search
Custom scoring functions
Index management and optimization
OpenSearch Specific:
Support for different vector engines (nmslib, faiss, lucene)
Index templates and mappings
Cluster management
Security features (authentication, encryption)
Proposed Solution
No response
Alternatives Considered
No response
Additional Context
No response