---
id: "aws-opensearch"
type: "component"
kind: "search-index"
provider: "aws"
category: "data"
aliases: "Amazon Elasticsearch Service, Amazon ES"
docs: "https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html"
url: "https://localhost:3000/catalogue/components/aws-opensearch"
---

# Amazon OpenSearch Service

Managed OpenSearch cluster for log analytics, search and observability.

| | |
|---|---|
| Provider | [aws](https://localhost:3000/catalogue?provider=aws) |
| Kind | [Search index](https://localhost:3000/catalogue/kinds/search-index) |
| Category | Data |
| Official docs | [https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html) |
| Also known as | Amazon Elasticsearch Service, Amazon ES |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `autoTune` | boolean | — | no | true | inherited |
| `dedicatedMasterNodes` | integer | — | no | 3 | inherited |
| `deploymentOption` | enum | `multi-az-with-standby`, `multi-az-without-standby`, `single-az` | no | "multi-az-with-standby" | inherited |
| `encryptionAtRest` | boolean | — | no | false | inherited |
| `geoScheme` (advanced) | enum | `none`, `s2`, `h3`, `geohash`, `quadtree` | no | "none" | inherited |
| `indexing` | enum | `sync`, `async`, `batch` | no | "async" | inherited |
| `managed` | boolean | — | no | false | **true** |
| `rebuildCadenceHours` (advanced) | integer | — | no | — | inherited |
| `replicas` | integer | — | no | — | **1** |
| `shardingStrategy` (advanced) | enum | `none`, `hash`, `geo`, `time`, `prefix-range` | no | "none" | **"hash"** |
| `structure` | enum | `inverted`, `trie`, `vector`, `geo-cell` | no | "inverted" | **"inverted"** |

Bold values are the ones this component pins.

## Rules that apply · 1

### Search index without an asynchronous feed `derived-store-without-cdc-or-rebuild` (error)

- Page: https://localhost:3000/catalogue/rules/derived-store-without-cdc-or-rebuild.md
- Why: A search index is derived data and needs an asynchronous feed from a stream, change data capture or an indexing worker. Without one it is written inline on the request path, and it can never be rebuilt after it drifts.
- Applies to: every node of kind search-index
- Message: Search index '{{node.id}}' has no asynchronous feed from a stream, change data capture or worker. It cannot be rebuilt or kept in sync independently of the write path.

It fires when:

- this does not hold:
  - the node has at least one asynchronous incoming edge from a stream, change-data-capture or worker

## Other products of the same kind · 31

- [Alibaba Cloud Elasticsearch](https://localhost:3000/catalogue/components/alibaba-elasticsearch.md) `alibaba-elasticsearch` — alibabacloud
- [OpenSearch](https://localhost:3000/catalogue/components/alibaba-open-search.md) `alibaba-open-search` — alibabacloud
- [Amazon Bedrock Knowledge Bases](https://localhost:3000/catalogue/components/aws-bedrock-knowledge-base.md) `aws-bedrock-knowledge-base` — aws
- [Amazon CloudSearch](https://localhost:3000/catalogue/components/aws-cloudsearch.md) `aws-cloudsearch` — aws
- [Amazon Kendra](https://localhost:3000/catalogue/components/aws-kendra.md) `aws-kendra` — aws
- [Azure AI Search](https://localhost:3000/catalogue/components/azure-ai-search.md) `azure-ai-search` — azure
- [Foundry IQ](https://localhost:3000/catalogue/components/azure-foundry-iq.md) `azure-foundry-iq` — azure
- [AI Search](https://localhost:3000/catalogue/components/cloudflare-ai-search.md) `cloudflare-ai-search` — cloudflare
- [Algolia](https://localhost:3000/catalogue/components/algolia.md) `algolia` — default
- [Coveo](https://localhost:3000/catalogue/components/coveo.md) `coveo` — default
- [Elastic Cloud](https://localhost:3000/catalogue/components/elastic-cloud.md) `elastic-cloud` — default
- [Elasticsearch](https://localhost:3000/catalogue/components/elasticsearch.md) `elasticsearch` — default
- [Geo cell index](https://localhost:3000/catalogue/components/geo-cell-index.md) `geo-cell-index` — default
- [Manticore Search](https://localhost:3000/catalogue/components/manticore.md) `manticore` — default
- [Meilisearch](https://localhost:3000/catalogue/components/meilisearch.md) `meilisearch` — default
- [OpenSearch](https://localhost:3000/catalogue/components/opensearch.md) `opensearch` — default
- [Quickwit](https://localhost:3000/catalogue/components/quickwit.md) `quickwit` — default
- [Generic search index](https://localhost:3000/catalogue/components/search-index.md) `search-index` — default
- [Apache Solr](https://localhost:3000/catalogue/components/solr.md) `solr` — default
- [Sonic](https://localhost:3000/catalogue/components/sonic.md) `sonic` — default
- [Sphinx](https://localhost:3000/catalogue/components/sphinx.md) `sphinx` — default
- [Trie index](https://localhost:3000/catalogue/components/trie-index.md) `trie-index` — default
- [Typesense](https://localhost:3000/catalogue/components/typesense.md) `typesense` — default
- [Vespa](https://localhost:3000/catalogue/components/vespa.md) `vespa` — default
- [Cloud Talent Solution](https://localhost:3000/catalogue/components/google-cloud-talent-solution.md) `google-cloud-talent-solution` — gcp
- [Vertex AI Search](https://localhost:3000/catalogue/components/google-vertex-ai-search.md) `google-vertex-ai-search` — gcp
- [AI Commerce Search](https://localhost:3000/catalogue/components/google-vertex-ai-search-commerce.md) `google-vertex-ai-search-commerce` — gcp
- [Vision API Product Search](https://localhost:3000/catalogue/components/google-vision-product-search.md) `google-vision-product-search` — gcp
- [IBM Cloud Databases for Elasticsearch](https://localhost:3000/catalogue/components/ibm-databases-for-elasticsearch.md) `ibm-databases-for-elasticsearch` — ibm
- [IBM Watson Discovery](https://localhost:3000/catalogue/components/ibm-watson-discovery.md) `ibm-watson-discovery` — ibm
- [OCI Search with OpenSearch](https://localhost:3000/catalogue/components/oci-opensearch.md) `oci-opensearch` — oci

## Use it in a design

```yaml
nodes:
  - { id: "aws-opensearch", component: "aws-opensearch" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Amazon OpenSearch Service domain: managed OpenSearch cluster that provisions, monitors and replaces its own
# nodes ("What is Amazon OpenSearch Service?"). Easy create builds a Multi-AZ with Standby domain across three
# Availability Zones with three dedicated master nodes, three data nodes and Auto-Tune on, and "the default
# configuration for any index is a replica count of 1" ("Configuring a multi-AZ domain"). Encryption of data at
# rest is selected explicitly ("Encryption of data at rest for Amazon OpenSearch Service").
schemaVersion: "1"
type: "component"
id: "aws-opensearch"
kind: "search-index"
provider: "aws"
docs: "https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-multiaz.html"
aliases: ["Amazon Elasticsearch Service", "Amazon ES"]
defaults:
  managed: true
  structure: "inverted"
  shardingStrategy: "hash"
  replicas: 1
properties:
  deploymentOption:
    type: "enum"
    values: ["multi-az-with-standby", "multi-az-without-standby", "single-az"]
    default: "multi-az-with-standby"
  dedicatedMasterNodes:
    type: "integer"
    default: 3
  encryptionAtRest:
    type: "boolean"
    default: false
  autoTune:
    type: "boolean"
    default: true
```

Human page: https://localhost:3000/catalogue/components/aws-opensearch
