Link Search Menu Expand Document Documentation Menu

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

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.

  1. Install and start Docker Desktop.
  2. 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
    
  3. In a new terminal session, run:
    curl -XGET --insecure -u 'admin:admin' 'https://localhost:9200'
    
  4. Create your first index.

    curl -XPUT --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index'
    
  5. 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."}'
    
  6. Retrieve the data to see that it was added properly.

    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.

    curl -XDELETE --insecure -u 'admin:admin' 'https://localhost:9200/my-first-index/_doc/1'
    
  8. 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?

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.