OpenSearch documentation
Welcome to the OpenSearch documentation! With this documentation, you’ll learn how to use OpenSearch — the only 100% open-source search, analytics, and visualization suite. We have a dedicated and growing number of technical writers who are building our documentation library. We also welcome and encourage community input. To contribute, see the Contributing file. A good place to start is by browsing issues labeled “good first issue.”
Getting started
Why use OpenSearch?
With OpenSearch, you can perform the following use cases:
Fast, Scalable Full-text Search | Application and Infrastructure Monitoring | Security and Event Information Management | Operational Health Tracking |
Help users find the right information within your application, website, or data lake catalog. | Easily store and analyze log data, and set automated alerts for underperformance. | Centralize logs to enable real-time security monitoring and forensic analysis. | Use observability logs, metrics, and traces to monitor your applications and business in real time. |
Additional features and plugins:
OpenSearch has several features and plugins to help index, secure, monitor, and analyze your data. Most OpenSearch plugins have corresponding OpenSearch Dashboards plugins that provide a convenient, unified user interface.
- Anomaly detection - Identify atypical data and receive automatic notifications
- KNN - Find “nearest neighbors” in your vector data
- Performance Analyzer - Monitor and optimize your cluster
- SQL - Use SQL or a piped processing language to query your data
- Index State Management - Automate index operations
- ML Commons plugin - Train and execute machine-learning models
- Asynchronous search - Run search requests in the background
- Cross-cluster replication - Replicate your data across multiple OpenSearch clusters
Docker quickstart
Docker
The best way to try out OpenSearch is to use Docker Compose. Setting up OpenSearch with Docker Compose sets up a two-node cluster of OpenSearch plus OpenSearch Dashboards.
- Install and start Docker Desktop.
Run the following commands:
docker pull opensearchproject/opensearch:2.3.0
docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:2.3.0
In a new terminal session, run:
curl -XGET --insecure -u 'admin:admin' 'https://localhost:9200'
Create your first index.
curl -XPUT --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index'
Add some data to your newly created index.
curl -XPUT --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1' -H 'Content-Type: application/json' -d '{"Description": "To be or not to be, that is the question."}'
Retrieve the data to see that it was added properly.
curl -XGET --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1'
After verifying that the data is correct, delete the document.
curl -XDELETE --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1'
Finally, delete the index.
curl -XDELETE --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/'
To learn more, see Docker image and Docker security configuration.
The secure path forward
OpenSearch includes a demo configuration so that you can get up and running quickly, but before using OpenSearch in a production environment, you must configure the security plugin manually with your own certificates, authentication method, users, and passwords.
Looking for the Javadoc?
Get involved
OpenSearch is supported by Amazon Web Services. All components are available under the Apache License, Version 2.0 on GitHub. The project welcomes GitHub issues, bug fixes, features, plugins, documentation—anything at all. To get involved, see Contributing on the OpenSearch website.
OpenSearch includes certain Apache-licensed Elasticsearch code from Elasticsearch B.V. and other source code. Elasticsearch B.V. is not the source of that other source code. ELASTICSEARCH is a registered trademark of Elasticsearch B.V.