Quick short, Elasticsearch cheat API End-Point calls that takes a while to remember.  If I have missed your favourite or want to make a recommendation to add in please do leave comment

States

[code language=”bash”]

# Show all indices
GET /_cat/indices?v-

# cluster health state
GET /_cluster/health

# Show all nodes
GET /_cat/nodes?

# Show largest Index. Leverages the _CAT api
curl ‘localhost:9200/_cat/indices?bytes=b’ | sort -rnk8 | grep -v marvel,kibana

[/code]

Index

Indexing

[code language=”bash”]

# Bulk Indexing Example
POST /factory/_bulk
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"swift","make":"suzuki", "mark":1, "release_year":"1998-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"swift","make":"suzuki", "mark":2, "release_year":"2003-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"baleno","make":"suzuki", "mark":1, "release_year":"2000-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"focus","make":"ford","mark":1, "release_year":"2001-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"focus","make":"ford","mark":2, "release_year":"2007-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"rs","make":"ford","mark":2, "release_year":"2011-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"rav4","make":"toyota","mark":3, "release_year":"2009-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"mondeo","make":"ford","mark":2, "release_year":"2007-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"st","make":"ford","mark":1, "release_year":"2007-01-01"}
{"index":{"_index":"factory", "_type":"cars"}}
{ "model":"5 series","make":"bmw","mark":3, "release_year":"2009-01-01"}
[/code]

 

Index Management

[code language=”bash”]

PUT /my_index/_settings

{
"index": {
"number_of_replicas": 4
}
}

# Add a single alias
PUT /lmg_sem_v4/_alias/lmg

# Move Shard to another node
POST /_cluster/reroute
{
"commands" : [ {
"move" :
{
"index" : "amg_sem_v12", "shard" : 0,
"from_node" : "UK-SEARCH-STG-02", "to_node" : "UK-SEARCH-STG-01"
}
}
]
}

[/code]

Index Cloning

From ElasticSearch 2.3 you you may now use the built in _reindex API to re-index data

[code language=”bash”]

POST /_reindex
{
"source": {
"index": "my-index"
},
"dest": {
"index": "my-new-index"
}
}

[/code]

 

Cloning with a filter/query

[code language=”bash”]

POST /_reindex
{
"source": {
"index": "my-index",
"query": {
"term": {
"has-index-cloning-with-filter-on": true
}
}
},
"dest": {
"index": "my-new-index"
}
}

[/code]

 

[code language=”bash”]

# Show cluster-wide Recovery state
GET /_recovery?pretty&human
GET /_recovery?pretty&human&active_only=true

# show tabular cluster-wide status summary
GET /_cat/recovery?v

# Show me all snapshots
GET /_snapshot/_all

# Show settings details of snapshot repo "my_backup"
GET /_snapshot/my_backup

# Show all snapshot details of repo "my_backup"
GET /_snapshot/my_backup/_all

# Delete snapshot "snapshot_2015_09_07-13_50_48" from repo "prod-0009"
DELETE /_snapshot/prod-0009/snapshot_2015_09_07-13_50_48/

# Register Repo + no need to verify permission on path location
PUT /_snapshot/prod-0009?verify=false
{
"type": "fs",
"settings": {
"location": "/vagrant/prod-0009",
"compress": true,
"max_snapshot_bytes_per_sec": "200000000",
"max_restore_bytes_per_sec": " 500mb"
}
}

# Take Snapshot of just "cmg_sem_v6" index
PUT /_snapshot/one-off-repo?wait_for_completion=true
{
"indices": "cmg_sem_v6",
"ignore_unavailable": "true",
"include_global_state": false
}

# Restore Snapshots of all index + global state
POST /_snapshot/prod-0009/snapshot_2015_09_11-10_23_29/_restore

# Restore Snapshots of only "log_river" index
POST /_snapshot/prod-0009/snapshot_2015_09_11-10_23_29/_restore
{
"indices": "log_river",
"rename_pattern": "index_pattern",
"rename_replacement": "restored_pattern"
"ignore_unavailable": "true",
"include_global_state": false
}

# Speed up Recovery Speed
PUT /_cluster/settings
{
"persistent": {
"cluster.routing.allocation.node_concurrent_recoveries": "5",
"indices.recovery.max_bytes_per_sec": "200mb",
"indices.recovery.concurrent_streams": 5
}
}

[/code]

Having trouble With .Marvel* index creation?

[code language=”bash”]

# You can view the current settings template with :
curl -XGET localhost:9200/_template/marvel

# Modify settings with:
PUT /_template/marvel_custom
{
"order" : 1,
"template" : ".marvel*",
"settings" : {
"number_of_replicas" : 0,
"number_of_shards" : 5
}
}

[/code]

 

More here

Move/Route shards to another elasticsearch node

[code language=”bash”]

POST /_cluster/reroute
{
"commands" : [ {
"move" :
{
"index" : "amg_sem_v12", "shard" : 0,
"from_node" : "UK-SEARCH-STG-02", "to_node" : "UK-SEARCH-STG-01"
}
}
]
}

[/code]


Leave a Reply

Your email address will not be published. Required fields are marked *