OpenSearch documentation
This site contains the technical documentation for OpenSearch, the Apache 2.0-licensed search, analytics, and visualization suite with advanced security, alerting, SQL support, automated index management, deep performance analysis, and more.
Why use OpenSearch?
OpenSearch is well-suited to the following use cases:
- Log analytics
- Real-time application monitoring
- Clickstream analytics
- Search backend
Component | Purpose |
---|---|
OpenSearch | Data store and search engine |
OpenSearch Dashboards | Search frontend and visualizations |
Security | Authentication and access control for your cluster |
Alerting | Receive notifications when your data meets certain conditions |
SQL | Use SQL or a piped processing language to query your data |
Index State Management | Automate index operations |
KNN | Find “nearest neighbors” in your vector data |
Performance Analyzer | Monitor and optimize your cluster |
Anomaly detection | Identify atypical data and receive automatic notifications |
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 |
Most OpenSearch plugins have corresponding OpenSearch Dashboards plugins that provide a convenient, unified user interface.
For specifics around the project, see the FAQ.
Docker quickstart
Docker
- Install and start Docker Desktop.
Run the following commands:
docker pull opensearchproject/opensearch:1.3.2
docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:1.3.2
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.
Installation
For more comprehensive installation instructions for other download types, such as tarballs, see these pages:
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: your own certificates, your own authentication method, your own users, and your own 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.