The Open Distro project is archived. Open Distro development has moved to OpenSearch. The Open Distro plugins will continue to work with legacy versions of Elasticsearch OSS, but we recommend upgrading to OpenSearch to take advantage of the latest features and improvements.
Popular APIs
This page contains sample requests for popular Elasticsearch APIs.
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, Elasticsearch 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
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
}