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]
SnapShot and Recovery
For latest see
[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]
See more API Re-Route explained Blog
Leave a Reply