Local AI search engine that auto-indexes any folder (code, docs, logs, PDFs) and speaks the Elasticsearch API, built in Rust.
- Stars
- 78,319
- Forks
- 26,142
- Open issues
- 6,186
- Last commit
- 3 hours ago
What is it?
Elasticsearch is a distributed search and analytics engine that stores JSON documents and makes them searchable in near real time. It supports full-text search, vector search, and hybrid search, and is used for use cases such as retrieval-augmented generation (RAG), logs, metrics, application performance monitoring, and security event analysis.
Data is sent to and queried from Elasticsearch through REST APIs, so any HTTP client or the official language clients can be used. Documents are added with simple POST or bulk requests and retrieved by ID or search query. Timestamped data can be written to data streams made up of auto-generated backing indices.
The project is built with Gradle and can produce distributions for Linux, macOS, and Windows. For local development, the start-local script runs Elasticsearch and Kibana in Docker; that setup is not intended for production.
Key features
- 01Full-text, vector, and hybrid search over JSON documents
- 02Near real-time indexing and search
- 03REST API accessible from any HTTP client or official language clients
- 04Bulk indexing and data streams for timestamped data
- 05Distributed architecture with cluster-wide document access
Use cases
- Building retrieval-augmented generation pipelines over private documents
- Full-text search for application content or product catalogs
- Centralized log and metrics analysis
- Security event analysis and application performance monitoring
Quick start
- 1
Run the start-local script to set up Elasticsearch and Kibana in Docker
curl -fsSL https://elastic.co/start-local | sh - 2
Check the connection to Elasticsearch from the elastic-start-local folder
source .env curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}" - 3
Create a new index using basic auth
curl -u elastic:$ES_LOCAL_PASSWORD \ -X PUT \ http://localhost:9200/my-new-index \ -H 'Content-Type: application/json'
Things to know
- The start-local setup is for local development and testing only, not production.
- Local setup disables HTTPS and uses basic authentication.
- The included trial license lasts one month before reverting to the Basic tier.
Topics
FAQ
- What is elasticsearch?
- Distributed, RESTful search and analytics engine that also serves as a scalable data store and vector database. Elasticsearch is a distributed search and analytics engine that stores JSON documents and makes them searchable in near real time. It supports full-text search, vector search, and hybrid search, and is used for use cases such as retrieval-augmented generation (RAG), logs, metrics, application performance monitoring, and security event analysis.
- Is elasticsearch free to use? What license does it have?
- elasticsearch is open source under the Other license. Check the license terms before using it in commercial products.
- Is elasticsearch still maintained?
- Actively maintained. The last commit to elasticsearch was on Oct 20, 2026.
- What can I use elasticsearch for?
- Building retrieval-augmented generation pipelines over private documents Full-text search for application content or product catalogs Centralized log and metrics analysis Security event analysis and application performance monitoring
- How do I install elasticsearch?
- Run the start-local script to set up Elasticsearch and Kibana in Docker: curl -fsSL https://elastic.co/start-local | sh Check the connection to Elasticsearch from the elastic-start-local folder: source .env curl $ES_LOCAL_URL -H "Authorization: ApiKey ${ES_LOCAL_API_KEY}" Create a new index using basic auth: curl -u elastic:$ES_LOCAL_PASSWORD \ -X PUT \ http://localhost:9200/my-new-index \ -H 'Content-Type: application/json'
- Where can I get elasticsearch?
- The source code and installation instructions are on GitHub: https://github.com/elastic/elasticsearch
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source MPP real-time analytics and search database offering fast SQL analytics, lakehouse query acceleration, and hybrid text/vector search.
Open-source data warehouse written in Rust, combining SQL analytics, vector and full-text search, and Python UDF sandboxes on S3-compatible storage.
A Redis- and Valkey-compatible in-memory key-value server written in Rust, with built-in full-text and vector search.
Self-hosted, open-source PDF editing platform for editing, signing, redacting, converting and automating PDFs in the browser, desktop or via API.
A local, on-device CLI search engine for markdown notes, meeting transcripts and docs, combining BM25, vector search and LLM reranking.