Indices Administration
editIndices Administration
editTo access indices Java API, you need to call indices()
method from an AdminClient
:
IndicesAdminClient indicesAdminClient = client.admin().indices();
In the rest of this guide, we will use client.admin().indices()
.
Create Index
editUsing an IndicesAdminClient
, you can create an index with all default settings and no mapping:
client.admin().indices().prepareCreate("twitter").get();
Index Settings
editEach index created can have specific settings associated with it.
Put Mapping
editThe PUT mapping API allows you to add a new type while creating an index:
client.admin().indices().prepareCreate("twitter") .addMapping("tweet", "{\n" + " \"tweet\": {\n" + " \"properties\": {\n" + " \"message\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + " }") .get();
Creates an index called |
|
It also adds a |
The PUT mapping API also allows to add a new type to an existing index:
client.admin().indices().preparePutMapping("twitter") .setType("user") .setSource("{\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + "}") .get(); // You can also provide the type in the source document client.admin().indices().preparePutMapping("twitter") .setType("user") .setSource("{\n" + " \"user\":{\n" + " \"properties\": {\n" + " \"name\": {\n" + " \"type\": \"string\"\n" + " }\n" + " }\n" + " }\n" + "}") .get();
Puts a mapping on existing index called |
|
Adds a |
|
This |
|
type can be also provided within the source |
You can use the same API to update an existing mapping:
Refresh
editThe refresh API allows to explicitly refresh one or more index:
Get Settings
editThe get settings API allows to retrieve settings of index/indices:
GetSettingsResponse response = client.admin().indices() .prepareGetSettings("company", "employee").get(); for (ObjectObjectCursor<String, Settings> cursor : response.getIndexToSettings()) { String index = cursor.key; Settings settings = cursor.value; Integer shards = settings.getAsInt("index.number_of_shards", null); Integer replicas = settings.getAsInt("index.number_of_replicas", null); }
Update Indices Settings
editYou can change index settings by calling: