Popular APIs
This page contains example requests for popular OpenSearch operations.
Table of contents
- Create index with non-default settings
- Index a document with a random ID
- Index a document with a specific ID
- Index several documents at once
- List all indices
- Open or close all indices that match a pattern
- Delete all indices that match a pattern
- Create an index alias
- List all aliases
- Search an index or all indices that match a pattern
- Get cluster settings, including defaults
- Change disk watermarks (or other cluster settings)
- Get cluster health
- List nodes in the cluster
- Get node statistics
- Get snapshots in a repository
- Take a snapshot
- Restore a snapshot
Create index with non-default settings
PUT my-logs
{
"settings": {
"number_of_shards": 4,
"number_of_replicas": 2
},
"mappings": {
"properties": {
"title": {
"type": "text"
},
"year": {
"type": "integer"
}
}
}
}
Index a document with a random ID
POST my-logs/_doc
{
"title": "Your Name",
"year": "2016"
}
Index a document with a specific ID
PUT my-logs/_doc/1
{
"title": "Weathering with You",
"year": "2019"
}
Index several documents at once
The blank line at the end of the request body is required. If you omit the _id
field, OpenSearch generates a random ID.
POST _bulk
{ "index": { "_index": "my-logs", "_id": "2" } }
{ "title": "The Garden of Words", "year": 2013 }
{ "index" : { "_index": "my-logs", "_id" : "3" } }
{ "title": "5 Centimeters Per Second", "year": 2007 }
List all indices
GET _cat/indices?v&expand_wildcards=all
Open or close all indices that match a pattern
POST my-logs*/_open
POST my-logs*/_close
Delete all indices that match a pattern
DELETE my-logs*
Create an index alias
This request creates the alias my-logs-today
for the index my-logs-2019-11-13
.
PUT my-logs-2019-11-13/_alias/my-logs-today
List all aliases
GET _cat/aliases?v
Search an index or all indices that match a pattern
GET my-logs/_search?q=test
GET my-logs*/_search?q=test
Get cluster settings, including defaults
GET _cluster/settings?include_defaults=true
Change disk watermarks (or other cluster settings)
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.watermark.low": "80%",
"cluster.routing.allocation.disk.watermark.high": "85%"
}
}
Get cluster health
GET _cluster/health
List nodes in the cluster
GET _cat/nodes?v
Get node statistics
GET _nodes/stats
Get snapshots in a repository
GET _snapshot/my-repository/_all
Take a snapshot
PUT _snapshot/my-repository/my-snapshot
Restore a snapshot
POST _snapshot/my-repository/my-snapshot/_restore
{
"indices": "-.opendistro_security",
"include_global_state": false
}