> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tensor9.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenSearch Domain

> AWS OpenSearch Domain. A managed OpenSearch cluster that indexes JSON documents for full-text search and aggregations, reached over a REST API and OpenSearch Dashboards.

**On this page**

* [Coverage by target cloud](#coverage-by-target-cloud)
* [How the targets compare](#how-the-targets-compare)
  * [Infrastructure-only adaptation](#infrastructure-only-adaptation)
* [On Google Cloud, Azure, and Private Kubernetes](#on-google-cloud-azure-and-private-kubernetes)
  * [Via OpenSearch](#via-opensearch)
* [On Google Cloud](#on-google-cloud)
  * [Via Elastic Cloud (managed)](#via-elastic-cloud-managed)
* [On Azure](#on-azure)
  * [Via Azure Native Elastic](#via-azure-native-elastic)
* [On OCI](#on-oci)

## Coverage by target cloud

| Target             | Available |
| ------------------ | --------- |
| Google Cloud       | ✓         |
| Azure              | ✓         |
| OCI                | ✓         |
| Private Kubernetes | ✓         |

## How the targets compare

Each row compares a capability of OpenSearch Domain with its adaptation on each target.
A dash means this row is not stated for that target.

### Infrastructure-only adaptation

| Capability                                       | OpenSearch Domain                           | Google Cloud, Azure, and Private Kubernetes · OpenSearch                               | Google Cloud · Elastic Cloud (managed)                                             | Azure · Azure Native Elastic                                                                                                              | OCI                                                                                                     |
| ------------------------------------------------ | ------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| OpenSearch REST API                              | OpenSearch / Elasticsearch REST             | native OpenSearch API; match engine and client versions                                | adapter-translated OpenSearch requests on Elasticsearch 8.x                        | adapter-translated OpenSearch requests on Elasticsearch 8.x                                                                               | native OpenSearch API; match engine and client versions                                                 |
| Engine + version                                 | OpenSearch (AWS-managed domain)             | OpenSearch (self-hosted; OpenSearch Operator / Helm chart)                             | Elasticsearch 8.x (Elastic Cloud Hosted)                                           | Elasticsearch 8.x (Elastic-managed via Azure Native ISV Service)                                                                          | OpenSearch 2.11 / 2.15 / 2.18 / 2.19.1 / 3.2 / 3.6 (OCI-managed)                                        |
| Durability / HA owner · who operates the cluster | AWS-managed domain                          | you (self-managed on Kubernetes)                                                       | Elastic (Elastic Cloud)                                                            | Elastic / Microsoft (Azure Native Elastic)                                                                                                | Oracle (OCI Search with OpenSearch)                                                                     |
| Cluster topology / sharding                      | data + dedicated-master + UltraWarm tiers   | nodePools you define (data + dedicated cluster\_manager + optional warm role)          | ec\_deployment full topology: hot/warm/cold/frozen tiers, size + zone\_count (1-3) | resource without topology fields - size in the Elastic console (default 16 GB / 560 GB / 2 AZ)                                            | mandatory 3-tier: data + leader (master) + Dashboard nodes; optional coordinator / ML / search tiers    |
| Replication / HA · replicas + failover           | Multi-AZ (up to 99.99% with standby)        | index replicas + shard allocation awareness you configure; no SLA                      | 99.5 / 99.9 / 99.95% by AZ count (1 / 2 / 3 zones)                                 | governed by the Elastic Cloud SLA (99.5 / 99.9 / 99.95% by AZ count)                                                                      | OCI spreads data nodes across availability domains; no published availability SLA                       |
| Storage                                          | EBS gp3 (to 36 TiB/node) / 3 PiB per domain | PersistentVolume per nodePool (diskSize / storageClass); IOPS is StorageClass-derived  | disk bundled at a fixed disk:RAM ratio per tier                                    | included in the plan (no topology field on the resource)                                                                                  | per-node data\_node\_storage\_gb (FLEX sizing; up to \~314 TB/node, OCPU 1-32, memory 20-1024 GB)       |
| Encryption at rest                               | encrypt\_at\_rest + KMS CMK                 | the PersistentVolume / StorageClass encryption (no AWS-KMS CMK analog)                 | Elastic-managed (CMK is an EC Enterprise feature)                                  | Elastic-managed                                                                                                                           | service-managed encryption; no per-domain AWS KMS customer-key setting in this mapping                  |
| Security / FGAC                                  | fine-grained access control + IAM policies  | the Security plugin, config + internal\_users you own                                  | Elastic native realm (security.enabled), not the OpenSearch Security plugin        | Elastic native realm / API keys / SSO, not the OpenSearch Security plugin                                                                 | OpenSearch Security plugin - security\_mode ENFORCING + master user; SAML/LDAP/OIDC; DLS/FLS (2.3+)     |
| Plugins (k-NN / SQL / ISM / Alerting / ML)       | bundled \_plugins/\* (Apache-2.0)           | the full bundled \_plugins/\* set (k-NN, SQL/PPL, ISM, Alerting, AD, ML Commons)       | ES-native; the OpenSearch \_plugins/\* APIs diverge                                | ES-native (\_ml, \_watcher, dense\_vector); the OpenSearch \_plugins/\* APIs diverge (k-NN/SQL adapter-served, PPL/security out of scope) | the full supported set: k-NN, SQL/PPL, ISM, Alerting, AD, ML Commons, Neural Search, Security Analytics |
| Snapshots / backups                              | managed automated + manual \_snapshot       | self-managed: register a snapshot repository + schedule OpenSearch Snapshot Management | Elastic SLM (snapshot.retention)                                                   | Elastic SLM (console)                                                                                                                     | managed daily backups (14-day, non-configurable) + manual Snapshot API to Object Storage                |
| API coverage                                     | full                                        | high                                                                                   | partial                                                                            | partial                                                                                                                                   | high                                                                                                    |

## On Google Cloud, Azure, and Private Kubernetes

### Via OpenSearch

| Operation                                                                            | Area               | Support      | Depth        | Notes                                                                                                                                                                                                              |
| ------------------------------------------------------------------------------------ | ------------------ | ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Cluster health / stats / \_cat APIs                                                  | Cluster            | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Tasks API (\_tasks)                                                                  | Cluster            | Supported    | Full surface | drives async reindex / update-by-query                                                                                                                                                                             |
| Bulk (\_bulk)                                                                        | Documents          | Supported    | Common       | batch index/update/delete                                                                                                                                                                                          |
| Delete document                                                                      | Documents          | Supported    | Common       | -                                                                                                                                                                                                                  |
| Get document (GET /\{index}/\_doc/\{id})                                             | Documents          | Supported    | Common       | -                                                                                                                                                                                                                  |
| Index document (PUT/POST /\{index}/\_doc)                                            | Documents          | Supported    | Common       | -                                                                                                                                                                                                                  |
| Multi-get (\_mget)                                                                   | Documents          | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Update document (\_update)                                                           | Documents          | Supported    | Common       | -                                                                                                                                                                                                                  |
| Snapshots / backups (\_snapshot)                                                     | Durability         | Partial      | Full surface | the \_snapshot API is native, but you register the repository and schedule snapshots with OpenSearch Snapshot Management that AWS managed for you                                                                  |
| Aliases (\_aliases)                                                                  | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Analyze (\_analyze)                                                                  | Index management   | Supported    | Full surface | tokenizer/analyzer testing                                                                                                                                                                                         |
| Create / Delete / Get index                                                          | Index management   | Supported    | Common       | -                                                                                                                                                                                                                  |
| Data streams (\_data\_stream)                                                        | Index management   | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Open / Close index                                                                   | Index management   | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Put / Get mapping                                                                    | Index management   | Supported    | Common       | -                                                                                                                                                                                                                  |
| Refresh / Flush / Forcemerge                                                         | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Rollover / Shrink / Split / Clone                                                    | Index management   | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Update / Get settings                                                                | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Index & component templates (\_index\_template / \_component\_template)              | Ingest & templates | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Ingest pipelines (\_ingest/pipeline: put / get / delete / \_simulate)                | Ingest & templates | Supported    | Full surface | -                                                                                                                                                                                                                  |
| License / X-Pack (\_license, \_xpack)                                                | Licensing          | Out of scope | Full surface | Elasticsearch licensing endpoints \_license and \_xpack are not OpenSearch APIs.                                                                                                                                   |
| Index State Management (\_plugins/\_ism)                                             | Lifecycle          | Supported    | Full surface | Index State Management (\_plugins/\_ism) is bundled                                                                                                                                                                |
| Alerting / anomaly detection / ML Commons (\_plugins/\*)                             | Observability & ML | Supported    | Full surface | Alerting, Anomaly Detection, ML Commons, Notifications, Observability all ship in the distribution                                                                                                                 |
| Notifications / observability (\_plugins/\_notifications, \_plugins/\_observability) | Observability & ML | Supported    | Full surface | Alerting, Anomaly Detection, ML Commons, Notifications, Observability all ship in the distribution                                                                                                                 |
| PPL (\_plugins/\_ppl)                                                                | Query languages    | Supported    | Full surface | PPL (\_plugins/\_ppl) is bundled                                                                                                                                                                                   |
| SQL (\_plugins/\_sql)                                                                | Query languages    | Supported    | Full surface | the SQL plugin (\_plugins/\_sql) is bundled                                                                                                                                                                        |
| Stored scripts & Painless (\_scripts, \_scripts/painless/\_execute)                  | Scripting          | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Aggregations                                                                         | Search             | Supported    | Common       | metrics + bucket aggregations in \_search                                                                                                                                                                          |
| Count / Explain / Suggest                                                            | Search             | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Field capabilities (\_field\_caps)                                                   | Search             | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Multi-search (\_msearch)                                                             | Search             | Supported    | Most usage   | -                                                                                                                                                                                                                  |
| Point-in-time (\_search/point\_in\_time)                                             | Search             | Supported    | Most usage   | native - same \_search/point\_in\_time endpoint                                                                                                                                                                    |
| Reindex / Update-by-query / Delete-by-query                                          | Search             | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Scroll (\_search/scroll)                                                             | Search             | Supported    | Most usage   | deep pagination                                                                                                                                                                                                    |
| Search (\_search + query DSL)                                                        | Search             | Supported    | Common       | -                                                                                                                                                                                                                  |
| Search templates (\_search/template, \_render/template)                              | Search             | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Term vectors (\_termvectors / \_mtermvectors)                                        | Search             | Supported    | Full surface | -                                                                                                                                                                                                                  |
| Security plugin / fine-grained access control (\_plugins/\_security)                 | Security           | Partial      | Full surface | the Security plugin runs natively (the full plugin API, more than a managed target exposes), but you now own the roles/mappings/internal-users config that AWS FGAC managed, the same ownership shift as snapshots |
| Vector search / k-NN (knn\_vector, \_plugins/\_knn)                                  | Vector & ML        | Supported    | Full surface | the k-NN plugin (knn\_vector + \_plugins/\_knn) is bundled in the OpenSearch distribution                                                                                                                          |

#### OpenSearch in the customer cluster

Tensor9 provisions OpenSearch on Kubernetes through an OpenSearchCluster resource or Helm chart and configures the application endpoint. Document and search requests go directly to the cluster's OpenSearch API. The customer operates the cluster and its storage.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBPcGVuU2VhcmNoIG9uIEt1YmVybmV0ZXMgZGlyZWN0bHkgdGhyb3VnaCBpdHMgT3BlblNlYXJjaCBlbmRwb2ludC4gVGVuc29yOSBwcm92aXNpb25zIHRoZSBjbHVzdGVyIGFuZCBjb25maWd1cmVzIGl0cyBlbmRwb2ludC4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiMzMzQxNTV9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0ib3Mtcm91dGUiIG1hcmtlcldpZHRoPSI4IiBtYXJrZXJIZWlnaHQ9IjgiIHJlZlg9IjciIHJlZlk9IjQiIG9yaWVudD0iYXV0byI+PHBhdGggZD0iTTAsMCBMOCw0IEwwLDggWiIgZmlsbD0iIzY0NzQ4YiIvPjwvbWFya2VyPjwvZGVmcz4KPGcgc3Ryb2tlPSIjOTRhM2I4Ij48cmVjdCBmaWxsPSIjZjhmYWZjIiB4PSIyMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjZjhmYWZjIiB4PSIzMzAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PHJlY3QgZmlsbD0iI2Y4ZmFmYyIgeD0iNjQwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjwvZz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjE3IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSIjMGYxNzJhIj48dGV4dCB4PSIxNDAiIHk9Ijc4Ij5BcHBsaWNhdGlvbjwvdGV4dD48dGV4dCB4PSI0NTAiIHk9Ijc4Ij5Db25maWd1cmVkIGVuZHBvaW50PC90ZXh0Pjx0ZXh0IHg9Ijc2MCIgeT0iNzgiPk9wZW5TZWFyY2ggb24gS3ViZXJuZXRlczwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzQ3NTU2OSI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5EaXJlY3QgT3BlblNlYXJjaCByZXF1ZXN0czwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach OpenSearch on Kubernetes directly through its OpenSearch endpoint. Tensor9 provisions the cluster and configures its endpoint." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBPcGVuU2VhcmNoIG9uIEt1YmVybmV0ZXMgZGlyZWN0bHkgdGhyb3VnaCBpdHMgT3BlblNlYXJjaCBlbmRwb2ludC4gVGVuc29yOSBwcm92aXNpb25zIHRoZSBjbHVzdGVyIGFuZCBjb25maWd1cmVzIGl0cyBlbmRwb2ludC4iPjxzdHlsZT50ZXh0e2ZvbnQtZmFtaWx5OkludGVyLC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCdTZWdvZSBVSScsUm9ib3RvLCdIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmaWxsOiNjYmQ1ZTF9PC9zdHlsZT4KPGRlZnM+PG1hcmtlciBpZD0ib3Mtcm91dGUiIG1hcmtlcldpZHRoPSI4IiBtYXJrZXJIZWlnaHQ9IjgiIHJlZlg9IjciIHJlZlk9IjQiIG9yaWVudD0iYXV0byI+PHBhdGggZD0iTTAsMCBMOCw0IEwwLDggWiIgZmlsbD0iIzY0NzQ4YiIvPjwvbWFya2VyPjwvZGVmcz4KPGcgc3Ryb2tlPSIjNDE0ZTYyIj48cmVjdCBmaWxsPSIjMWEyNjMxIiB4PSIyMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjMWEyNjMxIiB4PSIzMzAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PHJlY3QgZmlsbD0iIzFhMjYzMSIgeD0iNjQwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjwvZz4KPGcgZm9udC1mYW1pbHk9InN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjE3IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSIjNTU3NmMyIj48dGV4dCB4PSIxNDAiIHk9Ijc4Ij5BcHBsaWNhdGlvbjwvdGV4dD48dGV4dCB4PSI0NTAiIHk9Ijc4Ij5Db25maWd1cmVkIGVuZHBvaW50PC90ZXh0Pjx0ZXh0IHg9Ijc2MCIgeT0iNzgiPk9wZW5TZWFyY2ggb24gS3ViZXJuZXRlczwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzc2ODhhMiI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5EaXJlY3QgT3BlblNlYXJjaCByZXF1ZXN0czwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach OpenSearch on Kubernetes directly through its OpenSearch endpoint. Tensor9 provisions the cluster and configures its endpoint." />
</div>

#### Engine and plugin compatibility

The target runs the OpenSearch engine and its bundled plugins. The listed document, index, search, aggregation, ingest and scripting operations retain their OpenSearch APIs. Match the engine and plugin versions to the application; sharing an engine name does not make different versions byte-identical.

The distribution includes k-NN vector search, SQL, PPL, Index State Management, Alerting, Anomaly Detection and ML Commons. Their native \_plugins APIs run on the cluster. Elasticsearch licensing endpoints \_license and \_xpack are not OpenSearch APIs.

#### Topology and access

Define node pools with CPU, memory and PersistentVolume capacity. A dedicated cluster\_manager pool maintains the cluster quorum; use at least three eligible nodes and distribute replicas across failure domains. OpenSearch renamed the master role to cluster\_manager in version 2.0. Configure shard allocation and plan rolling upgrades for the selected version.

The OpenSearch Security plugin controls roles, role mappings and internal users, including supported SAML, OIDC or LDAP sign-in and document- or field-level access. Translate AWS IAM-based access into this configuration. Replace bootstrap certificates and default credentials before exposing the cluster.

#### Storage and recovery

PersistentVolumes and their StorageClasses determine disk capacity, IOPS and encryption. They do not inherit a domain-specific AWS KMS key setting. Availability depends on node placement, quorum and index replicas; the self-managed cluster has no managed uptime SLA.

Register a snapshot repository and schedule creation and retention with OpenSearch Snapshot Management. An S3-compatible repository requires the repository-s3 plugin and object-store endpoint configuration. Keep backups outside the cluster's failure domain and verify a restore. OpenSearch Snapshot Management is distinct from Elasticsearch Snapshot Lifecycle Management.

#### Migration and operation

The cluster starts empty. Restore a compatible snapshot or reindex from the source, then verify index mappings and queries before cutover. Size shards, replicas and storage for the workload; shard sizes in the tens of gigabytes are a starting point to evaluate, not a fixed limit.

The customer operates Kubernetes capacity, storage expansion, cluster health, upgrades and snapshots. Tensor9 provisions the deployment and endpoint; it does not add a query proxy or a managed durability guarantee.

## On Google Cloud

### Via Elastic Cloud (managed)

| Operation                                                                            | Area               | Support        | Depth        | Notes                                                                                                                                          |
| ------------------------------------------------------------------------------------ | ------------------ | -------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Cluster health / stats / \_cat APIs                                                  | Cluster            | Supported      | Most usage   | -                                                                                                                                              |
| Tasks API (\_tasks)                                                                  | Cluster            | Supported      | Full surface | drives async reindex / update-by-query                                                                                                         |
| Bulk (\_bulk)                                                                        | Documents          | Supported      | Common       | batch index/update/delete                                                                                                                      |
| Delete document                                                                      | Documents          | Supported      | Common       | -                                                                                                                                              |
| Get document (GET /\{index}/\_doc/\{id})                                             | Documents          | Supported      | Common       | -                                                                                                                                              |
| Index document (PUT/POST /\{index}/\_doc)                                            | Documents          | Supported      | Common       | -                                                                                                                                              |
| Multi-get (\_mget)                                                                   | Documents          | Supported      | Most usage   | -                                                                                                                                              |
| Update document (\_update)                                                           | Documents          | Supported      | Common       | -                                                                                                                                              |
| Snapshots / backups (\_snapshot)                                                     | Durability         | Partial        | Full surface | Elastic SLM - a different API                                                                                                                  |
| Aliases (\_aliases)                                                                  | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Analyze (\_analyze)                                                                  | Index management   | Supported      | Full surface | tokenizer/analyzer testing                                                                                                                     |
| Create / Delete / Get index                                                          | Index management   | Supported      | Common       | -                                                                                                                                              |
| Data streams (\_data\_stream)                                                        | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Open / Close index                                                                   | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Put / Get mapping                                                                    | Index management   | Supported      | Common       | -                                                                                                                                              |
| Refresh / Flush / Forcemerge                                                         | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Rollover / Shrink / Split / Clone                                                    | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Update / Get settings                                                                | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Index & component templates (\_index\_template / \_component\_template)              | Ingest & templates | Supported      | Full surface | -                                                                                                                                              |
| Ingest pipelines (\_ingest/pipeline: put / get / delete / \_simulate)                | Ingest & templates | Supported      | Full surface | -                                                                                                                                              |
| License / X-Pack (\_license, \_xpack)                                                | Licensing          | Out of scope   | Full surface | Elasticsearch licensing endpoints are outside the OpenSearch mapping.                                                                          |
| Index State Management (\_plugins/\_ism)                                             | Lifecycle          | Adapter-served | Full surface | Maps representable ISM actions to ILM phases; custom states and transitions cannot round-trip.                                                 |
| Alerting / anomaly detection / ML Commons (\_plugins/\*)                             | Observability & ML | Adapter-served | Full surface | ES-native \_ml/\_watcher, several Platinum-gated; notifications/observability have no ES REST equivalent                                       |
| Notifications / observability (\_plugins/\_notifications, \_plugins/\_observability) | Observability & ML | Out of scope   | Full surface | These OpenSearch APIs are outside the Elasticsearch mapping; use target-native configuration or change the application.                        |
| PPL (\_plugins/\_ppl)                                                                | Query languages    | Out of scope   | Full surface | no PPL in Elasticsearch; ES\|QL is a different language                                                                                        |
| SQL (\_plugins/\_sql)                                                                | Query languages    | Adapter-served | Full surface | ES \_sql at a different path/shape                                                                                                             |
| Stored scripts & Painless (\_scripts, \_scripts/painless/\_execute)                  | Scripting          | Supported      | Full surface | -                                                                                                                                              |
| Aggregations                                                                         | Search             | Supported      | Common       | metrics + bucket aggregations in \_search                                                                                                      |
| Count / Explain / Suggest                                                            | Search             | Supported      | Most usage   | -                                                                                                                                              |
| Field capabilities (\_field\_caps)                                                   | Search             | Supported      | Full surface | -                                                                                                                                              |
| Multi-search (\_msearch)                                                             | Search             | Supported      | Most usage   | -                                                                                                                                              |
| Point-in-time (\_search/point\_in\_time)                                             | Search             | Partial        | Most usage   | ES uses \_pit, not \_search/point\_in\_time - path rewrite                                                                                     |
| Reindex / Update-by-query / Delete-by-query                                          | Search             | Supported      | Full surface | -                                                                                                                                              |
| Scroll (\_search/scroll)                                                             | Search             | Supported      | Most usage   | deep pagination                                                                                                                                |
| Search (\_search + query DSL)                                                        | Search             | Supported      | Common       | -                                                                                                                                              |
| Search templates (\_search/template, \_render/template)                              | Search             | Supported      | Full surface | -                                                                                                                                              |
| Term vectors (\_termvectors / \_mtermvectors)                                        | Search             | Supported      | Full surface | -                                                                                                                                              |
| Security plugin / fine-grained access control (\_plugins/\_security)                 | Security           | Out of scope   | Full surface | disjoint API + model - \_security/\* vs \_plugins/\_security/\*; some OpenSearch-free FLS/DLS/multi-tenancy are Platinum-gated or absent on ES |
| Vector search / k-NN (knn\_vector, \_plugins/\_knn)                                  | Vector & ML        | Adapter-served | Full surface | rewrite knn\_vector→dense\_vector, OpenSearch knn query→ES knn option                                                                          |

#### OpenSearch requests on Elasticsearch

Elastic Cloud Hosted runs Elasticsearch 8.x. The Tensor9 adapter accepts the application's OpenSearch requests, translates supported APIs and authentication, and sends them to the managed Elasticsearch endpoint. Tensor9 provisions an ec\_deployment in the customer's Google Cloud environment. Elastic operates Elasticsearch and Kibana; the customer selects the deployment configuration.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBFbGFzdGljIENsb3VkIEhvc3RlZCB0aHJvdWdoIHRoZSBUZW5zb3I5IHRyYW5zbGF0aW5nIGFkYXB0ZXIuIFRoZSBhZGFwdGVyIHRyYW5zbGF0ZXMgYXV0aGVudGljYXRpb24gYW5kIHN1cHBvcnRlZCBBUElzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM5NGEzYjgiPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjZjhmYWZjIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwZjE3MmEiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI3NjAiIHk9Ijc4Ij5FbGFzdGljIENsb3VkIEhvc3RlZDwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzQ3NTU2OSI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5UcmFuc2xhdGUgQVBJIGFuZCBjcmVkZW50aWFsczwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach Elastic Cloud Hosted through the Tensor9 translating adapter. The adapter translates authentication and supported APIs." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBFbGFzdGljIENsb3VkIEhvc3RlZCB0aHJvdWdoIHRoZSBUZW5zb3I5IHRyYW5zbGF0aW5nIGFkYXB0ZXIuIFRoZSBhZGFwdGVyIHRyYW5zbGF0ZXMgYXV0aGVudGljYXRpb24gYW5kIHN1cHBvcnRlZCBBUElzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM0MTRlNjIiPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjMWEyNjMxIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM1NTc2YzIiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI3NjAiIHk9Ijc4Ij5FbGFzdGljIENsb3VkIEhvc3RlZDwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzc2ODhhMiI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5UcmFuc2xhdGUgQVBJIGFuZCBjcmVkZW50aWFsczwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach Elastic Cloud Hosted through the Tensor9 translating adapter. The adapter translates authentication and supported APIs." />
</div>

#### Core requests and authentication

The adapter forwards the supported document, search, aggregation, index, cluster, ingest and scripting operations. It translates request and response differences, including the point-in-time path from \_search/point\_in\_time to \_pit. AWS SigV4 authentication is checked by the adapter; target requests use Elastic credentials or API keys. Configure target permissions in Elastic's security model.

Elasticsearch 8.x provides compatible-with=7 headers for its earlier REST API contract. The adapter uses that facility where applicable, alongside the required translations. It does not make every OpenSearch request or client version compatible. Validate the application's queries, response parsing and client behavior against the listed operations. See [Elastic's API compatibility documentation](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/compatibility).

#### Plugin translations

OpenSearch and Elasticsearch use different plugin APIs. The mapping translates k-NN vector mappings from knn\_vector to dense\_vector and converts the query to Elasticsearch's knn form. SQL requests move from \_plugins/\_sql to \_sql with translated response fields. Index State Management policies map to Elasticsearch Index Lifecycle Management where their actions can be represented. Custom ISM states and transitions do not round-trip through ILM's fixed phases.

The described alerting, anomaly-detection and machine-learning mappings use Elasticsearch \_watcher and \_ml capabilities. Some need a paid Elastic subscription. The operation table separates those translations from excluded APIs: PPL, the OpenSearch Security API, notifications and observability objects remain outside the mapping. Elasticsearch \_license and \_xpack are not OpenSearch APIs.

#### Deployment and availability

The ec\_deployment resource exposes hot, warm, cold and frozen tiers, instance size, one to three availability zones, and per-tier autoscaling. Storage is bundled at the selected tier's disk-to-memory ratio. The subscription determines commercial features and the applicable availability commitment. Elastic Cloud publishes monthly availability commitments of 99.5%, 99.9% and 99.95% for one-, two- and three-zone deployments, subject to the subscription and high-availability conditions. Choose topology and subscription together.

The target uses Elastic security configuration, API keys and single sign-on rather than OpenSearch Security roles. Document- and field-level security and other commercial features depend on the purchased subscription. The hosted offering's subscription conditions apply regardless of the source-code license. Elastic added an AGPLv3 option for the free source portions in 2024; see its [licensing FAQ](https://www.elastic.co/pricing/faq/licensing/).

#### Snapshots and migration

The deployment starts empty. Move data with a compatible remote reindex or bulk export/import workflow; do not assume an OpenSearch snapshot restores across the engine fork. Review mappings, analyzers and index settings before loading data, and verify representative queries before switching traffic.

Elastic Snapshot Lifecycle Management controls target backup schedules and retention. Preserve the application's recovery requirements when replacing AWS-managed snapshots. The adapter does not translate OpenSearch Security configuration, PPL or notification/observability objects; these need target-native configuration or an application change.

#### Sizing and performance

Choose shard layout, replicas, data tiers and memory for the application's indexing and query workload. Published engine benchmarks describe their particular versions and datasets; they do not measure this adaptation. Measure the deployed application, including translated operations, when selecting capacity.

## On Azure

### Via Azure Native Elastic

| Operation                                                                            | Area               | Support        | Depth        | Notes                                                                                                                                          |
| ------------------------------------------------------------------------------------ | ------------------ | -------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Cluster health / stats / \_cat APIs                                                  | Cluster            | Supported      | Most usage   | -                                                                                                                                              |
| Tasks API (\_tasks)                                                                  | Cluster            | Supported      | Full surface | drives async reindex / update-by-query                                                                                                         |
| Bulk (\_bulk)                                                                        | Documents          | Supported      | Common       | batch index/update/delete                                                                                                                      |
| Delete document                                                                      | Documents          | Supported      | Common       | -                                                                                                                                              |
| Get document (GET /\{index}/\_doc/\{id})                                             | Documents          | Supported      | Common       | -                                                                                                                                              |
| Index document (PUT/POST /\{index}/\_doc)                                            | Documents          | Supported      | Common       | -                                                                                                                                              |
| Multi-get (\_mget)                                                                   | Documents          | Supported      | Most usage   | -                                                                                                                                              |
| Update document (\_update)                                                           | Documents          | Supported      | Common       | -                                                                                                                                              |
| Snapshots / backups (\_snapshot)                                                     | Durability         | Partial        | Full surface | Elastic SLM - a different API                                                                                                                  |
| Aliases (\_aliases)                                                                  | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Analyze (\_analyze)                                                                  | Index management   | Supported      | Full surface | tokenizer/analyzer testing                                                                                                                     |
| Create / Delete / Get index                                                          | Index management   | Supported      | Common       | -                                                                                                                                              |
| Data streams (\_data\_stream)                                                        | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Open / Close index                                                                   | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Put / Get mapping                                                                    | Index management   | Supported      | Common       | -                                                                                                                                              |
| Refresh / Flush / Forcemerge                                                         | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Rollover / Shrink / Split / Clone                                                    | Index management   | Supported      | Full surface | -                                                                                                                                              |
| Update / Get settings                                                                | Index management   | Supported      | Most usage   | -                                                                                                                                              |
| Index & component templates (\_index\_template / \_component\_template)              | Ingest & templates | Supported      | Full surface | -                                                                                                                                              |
| Ingest pipelines (\_ingest/pipeline: put / get / delete / \_simulate)                | Ingest & templates | Supported      | Full surface | -                                                                                                                                              |
| License / X-Pack (\_license, \_xpack)                                                | Licensing          | Out of scope   | Full surface | Elasticsearch licensing endpoints are outside the OpenSearch mapping.                                                                          |
| Index State Management (\_plugins/\_ism)                                             | Lifecycle          | Adapter-served | Full surface | Maps representable ISM actions to ILM phases; custom states and transitions cannot round-trip.                                                 |
| Alerting / anomaly detection / ML Commons (\_plugins/\*)                             | Observability & ML | Adapter-served | Full surface | ES-native \_ml/\_watcher, several Platinum-gated; notifications/observability have no ES REST equivalent                                       |
| Notifications / observability (\_plugins/\_notifications, \_plugins/\_observability) | Observability & ML | Out of scope   | Full surface | These OpenSearch APIs are outside the Elasticsearch mapping; use target-native configuration or change the application.                        |
| PPL (\_plugins/\_ppl)                                                                | Query languages    | Out of scope   | Full surface | no PPL in Elasticsearch; ES\|QL is a different language                                                                                        |
| SQL (\_plugins/\_sql)                                                                | Query languages    | Adapter-served | Full surface | ES \_sql at a different path/shape                                                                                                             |
| Stored scripts & Painless (\_scripts, \_scripts/painless/\_execute)                  | Scripting          | Supported      | Full surface | -                                                                                                                                              |
| Aggregations                                                                         | Search             | Supported      | Common       | metrics + bucket aggregations in \_search                                                                                                      |
| Count / Explain / Suggest                                                            | Search             | Supported      | Most usage   | -                                                                                                                                              |
| Field capabilities (\_field\_caps)                                                   | Search             | Supported      | Full surface | -                                                                                                                                              |
| Multi-search (\_msearch)                                                             | Search             | Supported      | Most usage   | -                                                                                                                                              |
| Point-in-time (\_search/point\_in\_time)                                             | Search             | Partial        | Most usage   | ES uses \_pit, not \_search/point\_in\_time - path rewrite                                                                                     |
| Reindex / Update-by-query / Delete-by-query                                          | Search             | Supported      | Full surface | -                                                                                                                                              |
| Scroll (\_search/scroll)                                                             | Search             | Supported      | Most usage   | deep pagination                                                                                                                                |
| Search (\_search + query DSL)                                                        | Search             | Supported      | Common       | -                                                                                                                                              |
| Search templates (\_search/template, \_render/template)                              | Search             | Supported      | Full surface | -                                                                                                                                              |
| Term vectors (\_termvectors / \_mtermvectors)                                        | Search             | Supported      | Full surface | -                                                                                                                                              |
| Security plugin / fine-grained access control (\_plugins/\_security)                 | Security           | Out of scope   | Full surface | disjoint API + model - \_security/\* vs \_plugins/\_security/\*; some OpenSearch-free FLS/DLS/multi-tenancy are Platinum-gated or absent on ES |
| Vector search / k-NN (knn\_vector, \_plugins/\_knn)                                  | Vector & ML        | Adapter-served | Full surface | rewrite knn\_vector→dense\_vector, OpenSearch knn query→ES knn option                                                                          |

#### OpenSearch requests on Elasticsearch

Azure Native Elastic runs Elasticsearch 8.x. The Tensor9 adapter accepts the application's OpenSearch requests, translates supported APIs and authentication, and sends them to the managed Elasticsearch endpoint. Tensor9 provisions the Elastic resource in the customer's Azure tenant through the Azure Native integration. Elastic operates Elasticsearch; the resource is purchased and billed through the customer's Azure subscription.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBBenVyZSBOYXRpdmUgRWxhc3RpYyB0aHJvdWdoIHRoZSBUZW5zb3I5IHRyYW5zbGF0aW5nIGFkYXB0ZXIuIFRoZSBhZGFwdGVyIHRyYW5zbGF0ZXMgYXV0aGVudGljYXRpb24gYW5kIHN1cHBvcnRlZCBBUElzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM5NGEzYjgiPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjZjhmYWZjIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwZjE3MmEiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI3NjAiIHk9Ijc4Ij5BenVyZSBOYXRpdmUgRWxhc3RpYzwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzQ3NTU2OSI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5UcmFuc2xhdGUgQVBJIGFuZCBjcmVkZW50aWFsczwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach Azure Native Elastic through the Tensor9 translating adapter. The adapter translates authentication and supported APIs." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBBenVyZSBOYXRpdmUgRWxhc3RpYyB0aHJvdWdoIHRoZSBUZW5zb3I5IHRyYW5zbGF0aW5nIGFkYXB0ZXIuIFRoZSBhZGFwdGVyIHRyYW5zbGF0ZXMgYXV0aGVudGljYXRpb24gYW5kIHN1cHBvcnRlZCBBUElzLiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM0MTRlNjIiPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjMWEyNjMxIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM1NTc2YzIiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPlRlbnNvcjkgYWRhcHRlcjwvdGV4dD48dGV4dCB4PSI3NjAiIHk9Ijc4Ij5BenVyZSBOYXRpdmUgRWxhc3RpYzwvdGV4dD48L2c+CjxnIGZvbnQtZmFtaWx5PSJzeXN0ZW0tdWksc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzc2ODhhMiI+PHRleHQgeD0iMTQwIiB5PSIxMDgiPk9wZW5TZWFyY2ggY2xpZW50PC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iMTA4Ij5UcmFuc2xhdGUgQVBJIGFuZCBjcmVkZW50aWFsczwvdGV4dD48dGV4dCB4PSI3NjAiIHk9IjEwOCI+SW5kZXhlcyBhbmQgc2VhcmNoPC90ZXh0PjwvZz4KPGcgc3Ryb2tlPSIjNjQ3NDhiIiBzdHJva2Utd2lkdGg9IjIiIG1hcmtlci1lbmQ9InVybCgjb3Mtcm91dGUpIj48cGF0aCBkPSJNMjYwIDkwIEgzMjUiLz48cGF0aCBkPSJNNTcwIDkwIEg2MzUiLz48L2c+Cjwvc3ZnPg==" alt="Application requests reach Azure Native Elastic through the Tensor9 translating adapter. The adapter translates authentication and supported APIs." />
</div>

#### Core requests and authentication

The adapter forwards the supported document, search, aggregation, index, cluster, ingest and scripting operations. It translates request and response differences, including the point-in-time path from \_search/point\_in\_time to \_pit. AWS SigV4 authentication is checked by the adapter; target requests use Elastic credentials or API keys. Configure target permissions in Elastic's security model.

Elasticsearch 8.x provides compatible-with=7 headers for its earlier REST API contract. The adapter uses that facility where applicable, alongside the required translations. It does not make every OpenSearch request or client version compatible. Validate the application's queries, response parsing and client behavior against the listed operations. See [Elastic's API compatibility documentation](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/compatibility).

#### Plugin translations

OpenSearch and Elasticsearch use different plugin APIs. The mapping translates k-NN vector mappings from knn\_vector to dense\_vector and converts the query to Elasticsearch's knn form. SQL requests move from \_plugins/\_sql to \_sql with translated response fields. Index State Management policies map to Elasticsearch Index Lifecycle Management where their actions can be represented. Custom ISM states and transitions do not round-trip through ILM's fixed phases.

The described alerting, anomaly-detection and machine-learning mappings use Elasticsearch \_watcher and \_ml capabilities. Some need a paid Elastic subscription. The operation table separates those translations from excluded APIs: PPL, the OpenSearch Security API, notifications and observability objects remain outside the mapping. Elasticsearch \_license and \_xpack are not OpenSearch APIs.

#### Deployment and availability

The Azure resource does not expose the full deployment topology. Set size and topology in the Elastic Cloud console. The documented default is 16 GB RAM, 560 GB storage and two availability zones, with instances up to 256 GB RAM. The subscription determines commercial features and the applicable availability commitment. Elastic Cloud publishes monthly availability commitments of 99.5%, 99.9% and 99.95% for one-, two- and three-zone deployments, subject to the subscription and high-availability conditions. Choose topology and subscription together.

The target uses Elastic security configuration, API keys and single sign-on rather than OpenSearch Security roles. Document- and field-level security and other commercial features depend on the purchased subscription. The hosted offering's subscription conditions apply regardless of the source-code license. Elastic added an AGPLv3 option for the free source portions in 2024; see its [licensing FAQ](https://www.elastic.co/pricing/faq/licensing/).

#### Snapshots and migration

The deployment starts empty. Move data with a compatible remote reindex or bulk export/import workflow; do not assume an OpenSearch snapshot restores across the engine fork. Review mappings, analyzers and index settings before loading data, and verify representative queries before switching traffic.

Elastic Snapshot Lifecycle Management controls target backup schedules and retention. Preserve the application's recovery requirements when replacing AWS-managed snapshots. The adapter does not translate OpenSearch Security configuration, PPL or notification/observability objects; these need target-native configuration or an application change.

#### Sizing and performance

Choose shard layout, replicas, data tiers and memory for the application's indexing and query workload. Published engine benchmarks describe their particular versions and datasets; they do not measure this adaptation. Measure the deployed application, including translated operations, when selecting capacity.

## On OCI

| Operation                                                                            | Area               | Support      | Depth        | Notes                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------ | ------------------ | ------------ | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Cluster health / stats / \_cat APIs                                                  | Cluster            | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Tasks API (\_tasks)                                                                  | Cluster            | Supported    | Full surface | drives async reindex / update-by-query                                                                                                                                                                       |
| Bulk (\_bulk)                                                                        | Documents          | Supported    | Common       | batch index/update/delete                                                                                                                                                                                    |
| Delete document                                                                      | Documents          | Supported    | Common       | -                                                                                                                                                                                                            |
| Get document (GET /\{index}/\_doc/\{id})                                             | Documents          | Supported    | Common       | -                                                                                                                                                                                                            |
| Index document (PUT/POST /\{index}/\_doc)                                            | Documents          | Supported    | Common       | -                                                                                                                                                                                                            |
| Multi-get (\_mget)                                                                   | Documents          | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Update document (\_update)                                                           | Documents          | Supported    | Common       | -                                                                                                                                                                                                            |
| Snapshots / backups (\_snapshot)                                                     | Durability         | Partial      | Full surface | managed daily backups (14-day retention, non-configurable) + the manual \_snapshot API to an Object Storage bucket in your tenancy - a different model from AWS managed snapshots                            |
| Aliases (\_aliases)                                                                  | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Analyze (\_analyze)                                                                  | Index management   | Supported    | Full surface | tokenizer/analyzer testing                                                                                                                                                                                   |
| Create / Delete / Get index                                                          | Index management   | Supported    | Common       | -                                                                                                                                                                                                            |
| Data streams (\_data\_stream)                                                        | Index management   | Supported    | Full surface | -                                                                                                                                                                                                            |
| Open / Close index                                                                   | Index management   | Supported    | Full surface | -                                                                                                                                                                                                            |
| Put / Get mapping                                                                    | Index management   | Supported    | Common       | -                                                                                                                                                                                                            |
| Refresh / Flush / Forcemerge                                                         | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Rollover / Shrink / Split / Clone                                                    | Index management   | Supported    | Full surface | -                                                                                                                                                                                                            |
| Update / Get settings                                                                | Index management   | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Index & component templates (\_index\_template / \_component\_template)              | Ingest & templates | Supported    | Full surface | -                                                                                                                                                                                                            |
| Ingest pipelines (\_ingest/pipeline: put / get / delete / \_simulate)                | Ingest & templates | Supported    | Full surface | -                                                                                                                                                                                                            |
| License / X-Pack (\_license, \_xpack)                                                | Licensing          | Out of scope | Full surface | Elasticsearch licensing endpoints \_license and \_xpack are not OpenSearch APIs.                                                                                                                             |
| Index State Management (\_plugins/\_ism)                                             | Lifecycle          | Supported    | Full surface | Index Management (ISM) is a supported OCI Search plugin                                                                                                                                                      |
| Alerting / anomaly detection / ML Commons (\_plugins/\*)                             | Observability & ML | Supported    | Full surface | Alerting, Anomaly Detection, ML Commons, Neural Search, Notifications, Observability, Security Analytics are all supported OCI Search plugins                                                                |
| Notifications / observability (\_plugins/\_notifications, \_plugins/\_observability) | Observability & ML | Supported    | Full surface | Alerting, Anomaly Detection, ML Commons, Neural Search, Notifications, Observability, Security Analytics are all supported OCI Search plugins                                                                |
| PPL (\_plugins/\_ppl)                                                                | Query languages    | Supported    | Full surface | PPL ships with the supported SQL plugin                                                                                                                                                                      |
| SQL (\_plugins/\_sql)                                                                | Query languages    | Supported    | Full surface | the SQL plugin is supported on OCI Search                                                                                                                                                                    |
| Stored scripts & Painless (\_scripts, \_scripts/painless/\_execute)                  | Scripting          | Supported    | Full surface | -                                                                                                                                                                                                            |
| Aggregations                                                                         | Search             | Supported    | Common       | metrics + bucket aggregations in \_search                                                                                                                                                                    |
| Count / Explain / Suggest                                                            | Search             | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Field capabilities (\_field\_caps)                                                   | Search             | Supported    | Full surface | -                                                                                                                                                                                                            |
| Multi-search (\_msearch)                                                             | Search             | Supported    | Most usage   | -                                                                                                                                                                                                            |
| Point-in-time (\_search/point\_in\_time)                                             | Search             | Supported    | Most usage   | native - OpenSearch engine                                                                                                                                                                                   |
| Reindex / Update-by-query / Delete-by-query                                          | Search             | Supported    | Full surface | -                                                                                                                                                                                                            |
| Scroll (\_search/scroll)                                                             | Search             | Supported    | Most usage   | deep pagination                                                                                                                                                                                              |
| Search (\_search + query DSL)                                                        | Search             | Supported    | Common       | -                                                                                                                                                                                                            |
| Search templates (\_search/template, \_render/template)                              | Search             | Supported    | Full surface | -                                                                                                                                                                                                            |
| Term vectors (\_termvectors / \_mtermvectors)                                        | Search             | Supported    | Full surface | -                                                                                                                                                                                                            |
| Security plugin / fine-grained access control (\_plugins/\_security)                 | Security           | Partial      | Full surface | the OpenSearch Security plugin runs (RBAC, SAML/LDAP/OIDC, DLS/FLS), but AWS FGAC's IAM/master-user model is re-expressed as OCI's security\_mode (ENFORCING) + a master user - not the IAM access\_policies |
| Vector search / k-NN (knn\_vector, \_plugins/\_knn)                                  | Vector & ML        | Supported    | Full surface | k-NN is a supported OCI Search plugin                                                                                                                                                                        |

#### OpenSearch managed by Oracle

Tensor9 provisions OCI Search with OpenSearch in the customer's Oracle Cloud tenancy and configures the application to use its opensearch\_fqdn endpoint. Document and search requests reach the managed cluster directly. Oracle operates the OpenSearch service.

<div className="t9-diagram-scroll" role="region" aria-label="Scrollable diagram" tabIndex={0}>
  <img className="t9-diagram-light" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBPQ0kgU2VhcmNoIHdpdGggT3BlblNlYXJjaCBkaXJlY3RseSB0aHJvdWdoIGl0cyBPcGVuU2VhcmNoIGVuZHBvaW50LiBUZW5zb3I5IHByb3Zpc2lvbnMgdGhlIGNsdXN0ZXIgYW5kIGNvbmZpZ3VyZXMgaXRzIGVuZHBvaW50LiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6IzMzNDE1NX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM5NGEzYjgiPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiNmOGZhZmMiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjZjhmYWZjIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiMwZjE3MmEiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPkNvbmZpZ3VyZWQgZW5kcG9pbnQ8L3RleHQ+PHRleHQgeD0iNzYwIiB5PSI3OCI+T0NJIFNlYXJjaCB3aXRoIE9wZW5TZWFyY2g8L3RleHQ+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM0NzU1NjkiPjx0ZXh0IHg9IjE0MCIgeT0iMTA4Ij5PcGVuU2VhcmNoIGNsaWVudDwvdGV4dD48dGV4dCB4PSI0NTAiIHk9IjEwOCI+RGlyZWN0IE9wZW5TZWFyY2ggcmVxdWVzdHM8L3RleHQ+PHRleHQgeD0iNzYwIiB5PSIxMDgiPkluZGV4ZXMgYW5kIHNlYXJjaDwvdGV4dD48L2c+CjxnIHN0cm9rZT0iIzY0NzQ4YiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI29zLXJvdXRlKSI+PHBhdGggZD0iTTI2MCA5MCBIMzI1Ii8+PHBhdGggZD0iTTU3MCA5MCBINjM1Ii8+PC9nPgo8L3N2Zz4=" alt="Application requests reach OCI Search with OpenSearch directly through its OpenSearch endpoint. Tensor9 provisions the cluster and configures its endpoint." />

  <img className="t9-diagram-dark" src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjE4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTAwIDE4MCIgcm9sZT0iaW1nIiBhcmlhLWxhYmVsPSJBcHBsaWNhdGlvbiByZXF1ZXN0cyByZWFjaCBPQ0kgU2VhcmNoIHdpdGggT3BlblNlYXJjaCBkaXJlY3RseSB0aHJvdWdoIGl0cyBPcGVuU2VhcmNoIGVuZHBvaW50LiBUZW5zb3I5IHByb3Zpc2lvbnMgdGhlIGNsdXN0ZXIgYW5kIGNvbmZpZ3VyZXMgaXRzIGVuZHBvaW50LiI+PHN0eWxlPnRleHR7Zm9udC1mYW1pbHk6SW50ZXIsLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsJ1NlZ29lIFVJJyxSb2JvdG8sJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO2ZpbGw6I2NiZDVlMX08L3N0eWxlPgo8ZGVmcz48bWFya2VyIGlkPSJvcy1yb3V0ZSIgbWFya2VyV2lkdGg9IjgiIG1hcmtlckhlaWdodD0iOCIgcmVmWD0iNyIgcmVmWT0iNCIgb3JpZW50PSJhdXRvIj48cGF0aCBkPSJNMCwwIEw4LDQgTDAsOCBaIiBmaWxsPSIjNjQ3NDhiIi8+PC9tYXJrZXI+PC9kZWZzPgo8ZyBzdHJva2U9IiM0MTRlNjIiPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjIwIiB5PSI0MCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIxMDAiIHJ4PSIxMCIvPjxyZWN0IGZpbGw9IiMxYTI2MzEiIHg9IjMzMCIgeT0iNDAiIHdpZHRoPSIyNDAiIGhlaWdodD0iMTAwIiByeD0iMTAiLz48cmVjdCBmaWxsPSIjMWEyNjMxIiB4PSI2NDAiIHk9IjQwIiB3aWR0aD0iMjQwIiBoZWlnaHQ9IjEwMCIgcng9IjEwIi8+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTciIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM1NTc2YzIiPjx0ZXh0IHg9IjE0MCIgeT0iNzgiPkFwcGxpY2F0aW9uPC90ZXh0Pjx0ZXh0IHg9IjQ1MCIgeT0iNzgiPkNvbmZpZ3VyZWQgZW5kcG9pbnQ8L3RleHQ+PHRleHQgeD0iNzYwIiB5PSI3OCI+T0NJIFNlYXJjaCB3aXRoIE9wZW5TZWFyY2g8L3RleHQ+PC9nPgo8ZyBmb250LWZhbWlseT0ic3lzdGVtLXVpLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM3Njg4YTIiPjx0ZXh0IHg9IjE0MCIgeT0iMTA4Ij5PcGVuU2VhcmNoIGNsaWVudDwvdGV4dD48dGV4dCB4PSI0NTAiIHk9IjEwOCI+RGlyZWN0IE9wZW5TZWFyY2ggcmVxdWVzdHM8L3RleHQ+PHRleHQgeD0iNzYwIiB5PSIxMDgiPkluZGV4ZXMgYW5kIHNlYXJjaDwvdGV4dD48L2c+CjxnIHN0cm9rZT0iIzY0NzQ4YiIgc3Ryb2tlLXdpZHRoPSIyIiBtYXJrZXItZW5kPSJ1cmwoI29zLXJvdXRlKSI+PHBhdGggZD0iTTI2MCA5MCBIMzI1Ii8+PHBhdGggZD0iTTU3MCA5MCBINjM1Ii8+PC9nPgo8L3N2Zz4=" alt="Application requests reach OCI Search with OpenSearch directly through its OpenSearch endpoint. Tensor9 provisions the cluster and configures its endpoint." />
</div>

#### Engine and plugins

The target runs OpenSearch. The listed core REST operations and supported plugins use native OpenSearch APIs, including k-NN, SQL/PPL, Index State Management, Alerting, Anomaly Detection, ML Commons, Neural Search and Security Analytics. Match the selected engine and plugin versions to the application before migration. Elasticsearch \_license and \_xpack endpoints are not part of OpenSearch.

The documented OCI versions are 2.11, 2.15, 2.18, 2.19.1, 3.2 and 3.6. The same engine across providers still requires a version-compatibility review; it does not establish byte-identical behavior for every request.

#### Topology and security

Size data, leader and OpenSearch Dashboards nodes, with optional coordinator, machine-learning and search tiers. The cluster uses the customer's VCN and subnet; Oracle manages the software and distributes data nodes across availability domains.

Configure the OpenSearch Security plugin with security\_mode set to ENFORCING and a master user. Supported authentication includes SAML, LDAP and OIDC, with document- and field-level security on supported versions. AWS IAM access\_policies do not transfer directly. Storage encryption is service-managed; this mapping has no per-domain AWS KMS customer-key setting.

#### Backups and availability

OCI takes daily managed backups with 14-day retention. The manual Snapshot API can use an Object Storage repository in the customer tenancy. These backup controls differ from AWS domain snapshots, so configure recovery destinations and test restoration before cutover.

The documented OCI FAQ describes a 99.9% service-level objective, not a contractual availability SLA. Node placement and replicas provide high availability, but the objective is not a contractual guarantee. Evaluate the current service terms for the customer deployment.

#### Migration and sizing

The new cluster starts empty. Restore a compatible snapshot through a registered repository or reindex the source; OCI does not automatically import the AWS domain's indexes. Verify mappings, analyzers, queries and Security-plugin configuration before switching the endpoint.

The service uses Oracle compute and storage shapes, with the limits listed in the comparison. AWS instance families, EBS limits and UltraWarm settings are not interchangeable sizing inputs. Measure the customer workload on the selected topology and retain adequate storage and replica capacity.

[Service Catalog](/service-adapters/catalog).
