CreateIndex
Creates an OpenSearch index with optional automatic semantic enrichment for specified text fields. Automatic semantic enrichment enables semantic search capabilities without requiring machine learning expertise, improving search relevance by up to 20% by understanding search intent and contextual meaning beyond keyword matching. The semantic enrichment process has zero impact on search latency as sparse encodings are stored directly within the index during indexing. For more information, see Automatic semantic enrichment.
Request Syntax
POST /2021-01-01/opensearch/domain/DomainName/index HTTP/1.1
Content-type: application/json
{
"IndexName": "string",
"IndexSchema": JSON value
}
URI Request Parameters
The request uses the following URI parameters.
- DomainName
-
The name of an OpenSearch Service domain. Domain names are unique across the domains owned by an account within an AWS Region.
Length Constraints: Minimum length of 3. Maximum length of 28.
Pattern:
[a-z][a-z0-9\-]+Required: Yes
Request Body
The request accepts the following data in JSON format.
- IndexName
-
The name of the index to create. Must be between 1 and 255 characters and follow OpenSearch naming conventions.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^(?!\.\.?$)[^_ ,:"+/*\\|?#><A-Z-][^ ,:"+/*\\|?#><A-Z]*$Required: Yes
- IndexSchema
-
The JSON schema defining index mappings, settings, and semantic enrichment configuration. The schema specifies which text fields should be automatically enriched for semantic search capabilities and includes OpenSearch index configuration parameters.
Type: JSON value
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Status
-
The status of the index creation operation.
Type: String
Valid Values:
CREATED | UPDATED | DELETED
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
An error occurred because you don't have permissions to access the resource.
HTTP Status Code: 403
- DependencyFailureException
-
An exception for when a failure in one of the dependencies results in the service being unable to fetch details about the resource.
HTTP Status Code: 424
- DisabledOperationException
-
An error occured because the client wanted to access an unsupported operation.
HTTP Status Code: 409
- InternalException
-
Request processing failed because of an unknown error, exception, or internal failure.
HTTP Status Code: 500
- ResourceAlreadyExistsException
-
An exception for creating a resource that already exists.
HTTP Status Code: 409
- ResourceNotFoundException
-
An exception for accessing or deleting a resource that doesn't exist.
HTTP Status Code: 409
- ThrottlingException
-
The request was denied due to request throttling. Reduce the frequency of your requests and try again.
HTTP Status Code: 429
- ValidationException
-
An exception for accessing or deleting a resource that doesn't exist.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: