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
ComponentPurpose
OpenSearchData store and search engine
OpenSearch DashboardsSearch frontend and visualizations
SecurityAuthentication and access control for your cluster
AlertingReceive notifications when your data meets certain conditions
SQLUse SQL or a piped processing language to query your data
Index State ManagementAutomate index operations
KNNFind “nearest neighbors” in your vector data
Performance AnalyzerMonitor and optimize your cluster
Anomaly detectionIdentify atypical data and receive automatic notifications
ML Commons pluginTrain and execute machine-learning models
Asynchronous searchRun search requests in the background
Cross-cluster replicationReplicate 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

  1. Install and start Docker Desktop.
  2. Run the following commands:

    1. docker pull opensearchproject/opensearch:2.2.1
    2. docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:2.2.1
  3. In a new terminal session, run:

    1. curl -XGET --insecure -u 'admin:admin' 'https://localhost:9200'
  4. Create your first index.

    1. curl -XPUT --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index'
  5. Add some data to your newly created index.

    1. 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."}'
  6. Retrieve the data to see that it was added properly.

    1. curl -XGET --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1'
  7. After verifying that the data is correct, delete the document.

    1. curl -XDELETE --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1'
  8. Finally, delete the index.

    1. 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?

See opensearch.org/javadocs/.

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.