These APIs are responsible for managing all the aspects of the index like settings, aliases, mappings, index templates.
This API helps you to create an index. An index can be created automatically when a user is passing JSON objects to any index or it can be created before that. To create an index, you just need to send a PUT request with settings, mappings and aliases or just a simple request without body.
PUT colleges
On running the above code, we get the output as shown below −
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "colleges" }
We can also add some settings to the above command −
PUT colleges { "settings" : { "index" : { "number_of_shards" : 3, "number_of_replicas" : 2 } } }
On running the above code, we get the output as shown below −
{ "acknowledged" : true, "shards_acknowledged" : true, "index" : "colleges" }
This API helps you to delete any index. You just need to pass a delete request with the name of that particular Index.
DELETE /colleges
You can delete all indices by just using _all or *.
This API can be called by just sending get request to one or more than one indices. This returns the information about index.
GET colleges
On running the above code, we get the output as shown below −
{ "colleges" : { "aliases" : { "alias_1" : { }, "alias_2" : { "filter" : { "term" : { "user" : "pkay" } }, "index_routing" : "pkay", "search_routing" : "pkay" } }, "mappings" : { }, "settings" : { "index" : { "creation_date" : "1556245406616", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "3ExJbdl2R1qDLssIkwDAug", "version" : { "created" : "7000099" }, "provided_name" : "colleges" } } } }
You can get the information of all the indices by using _all or *.
Existence of an index can be determined by just sending a get request to that index. If the HTTP response is 200, it exists; if it is 404, it does not exist.
HEAD colleges
On running the above code, we get the output as shown below −
200-OK
You can get the index settings by just appending _settings keyword at the end of URL.
GET /colleges/_settings
On running the above code, we get the output as shown below −
{ "colleges" : { "settings" : { "index" : { "creation_date" : "1556245406616", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "3ExJbdl2R1qDLssIkwDAug", "version" : { "created" : "7000099" }, "provided_name" : "colleges" } } } }
This API helps you to extract statistics about a particular index. You just need to send a get request with the index URL and _stats keyword at the end.
GET /_stats
On running the above code, we get the output as shown below −
……………………………………………… }, "request_cache" : { "memory_size_in_bytes" : 849, "evictions" : 0, "hit_count" : 1171, "miss_count" : 4 }, "recovery" : { "current_as_source" : 0, "current_as_target" : 0, "throttle_time_in_millis" : 0 } } ………………………………………………
The flush process of an index makes sure that any data that is currently only persisted in the transaction log is also permanently persisted in Lucene. This reduces recovery times as that data does not need to be reindexed from the transaction logs after the Lucene indexed is opened.
POST colleges/_flush
On running the above code, we get the output as shown below −
{ "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 } }