OpenSearch — Community-Driven Search and Analytics Suite
OpenSearch is an open-source search and analytics suite forked from Elasticsearch 7.10. It provides full-text search, log analytics, observability, and security analytics — all under the Apache-2.0 license with no feature restrictions.
What it is
OpenSearch is an open-source search and analytics suite forked from Elasticsearch 7.10. It provides full-text search, log analytics, observability dashboards, and security analytics. The project is maintained by AWS and the open-source community under the Apache-2.0 license with no feature gating.
OpenSearch targets engineering teams who need a search engine, log aggregator, or observability platform without vendor lock-in or license restrictions. It is a direct alternative to Elasticsearch for teams concerned about Elastic's licensing changes.
How it saves time or tokens
OpenSearch is a drop-in replacement for Elasticsearch 7.10 workloads. Teams migrating from Elasticsearch can reuse existing indices, queries, and client libraries with minimal changes. The migration path avoids rewriting application code.
OpenSearch Dashboards (the Kibana fork) provides built-in visualization, alerting, and anomaly detection. Instead of assembling separate tools for search, logging, and monitoring, OpenSearch consolidates them into one platform.
How to use
- Run OpenSearch with Docker:
docker run -d --name opensearch \
-p 9200:9200 -p 9600:9600 \
-e 'discovery.type=single-node' \
-e 'DISABLE_SECURITY_PLUGIN=true' \
opensearchproject/opensearch:latest
- Index a document:
curl -X POST 'localhost:9200/products/_doc' \
-H 'Content-Type: application/json' \
-d '{"name": "Widget", "price": 29.99, "tags": ["electronics"]}'
- Search:
curl 'localhost:9200/products/_search?q=widget'
Example
Full-text search with filters and aggregations:
curl -X POST 'localhost:9200/products/_search' \
-H 'Content-Type: application/json' \
-d '{
"query": {
"bool": {
"must": { "match": { "name": "widget" } },
"filter": { "range": { "price": { "lte": 50 } } }
}
},
"aggs": {
"avg_price": { "avg": { "field": "price" } },
"by_tag": { "terms": { "field": "tags.keyword" } }
}
}'
This finds products matching 'widget' under $50, then aggregates average price and tag distribution.
Related on TokRepo
- Database AI tools -- search engines and data stores
- Monitoring tools -- observability and log analytics
Common pitfalls
- OpenSearch 2.x diverges from Elasticsearch's API in some areas. Client libraries that target Elasticsearch 8.x may not work. Use the official OpenSearch client libraries for full compatibility.
- Running OpenSearch in production requires tuning JVM heap size, shard count, and replica settings. The defaults work for development but are not suitable for production workloads.
- The security plugin is enabled by default and requires TLS certificates. For local development, disable it with the environment variable shown above. Never disable security in production.
Frequently Asked Questions
OpenSearch is compatible with Elasticsearch 7.10 APIs and index formats. Most Elasticsearch 7.x client libraries, queries, and index configurations work without changes. Compatibility with Elasticsearch 8.x features is not guaranteed as the projects have diverged.
OpenSearch is maintained by AWS and the open-source community under the Apache-2.0 license. AWS provides managed OpenSearch Service, but the open-source project runs independently on any infrastructure.
Yes. OpenSearch plus OpenSearch Dashboards replaces Elasticsearch plus Kibana. For log ingestion, you can use Logstash, Fluentd, or Data Prepper (OpenSearch's own ingestion tool). The result is a functionally equivalent stack under an open-source license.
OpenSearch includes a built-in security plugin that provides TLS encryption, role-based access control, audit logging, and multi-tenancy. Unlike Elasticsearch, where some security features require a paid license, all security features in OpenSearch are free.
OpenSearch Dashboards is the visualization layer, forked from Kibana 7.10. It provides search interfaces, log explorers, dashboards, alerting, and anomaly detection. It connects to OpenSearch the same way Kibana connects to Elasticsearch.
Citations (3)
- OpenSearch GitHub— OpenSearch forked from Elasticsearch 7.10 under Apache-2.0
- OpenSearch Documentation— OpenSearch query DSL and aggregations
- OpenSearch Migration Guide— Elasticsearch to OpenSearch migration guide
Related on TokRepo
Discussion
Related Assets
Hugging Face Tokenizers — Fast Text Tokenization for ML Pipelines
Hugging Face Tokenizers is a Rust-powered tokenization library with Python bindings that implements BPE, WordPiece, Unigram, and SentencePiece tokenizers with training and encoding speeds of gigabytes per second, used as the backbone for Transformers model tokenization.
Cleanlab — Find and Fix Label Errors in Any ML Dataset
Cleanlab is a data-centric AI Python library that automatically detects label errors, outliers, and data quality issues in classification and regression datasets, helping improve model accuracy by cleaning training data rather than tuning models.
Hugging Face Datasets — Access and Process ML Datasets at Scale
Hugging Face Datasets is a Python library for efficiently loading, processing, and sharing machine learning datasets with Apache Arrow-backed memory mapping, streaming support, and access to thousands of community datasets on the Hub.