通过client.admin().indices()(indicesAdminClient)
index是否存在
1 IndicesExistsResponse exReponse = indicesAdminClient.prepareExists("test").get()
2 exReponse.isExists()
type 是否存在
1 indicesAdminClient.prepareTypesExists("test").setTypes("c2b_sub_demand_detail").get()
注意:setTypes 可以写多个
2 existsResponse.isExists()
create index
1 cRepose = indicesAdminClient.prepareCreate("yyb_test").get()
注意:索引名称必须小写
2 cRepose.isAcknowledged()
delete index
1 delReponse = indicesAdminClient.prepareDelete("yyb_test").get()
2 delReponse.isAcknowledged()
close index
1 closeResponse = indicesAdminClient.prepareClose("test").get()
2 closeResponse.isAcknowledged()
open index
1 openResponse = indicesAdminClient.prepareOpen("test").get()
2 openResponse.isAcknowledged()
设置索引别名
1 aliasReponse = indicesAdminClient.prepareAliases().addAlias("test", "xxx").get()
2 aliasReponse.isAcknowledged()
获取索引别名
1 aliasReponse = indicesAdminClient.prepareGetAliases("xxx").get()
2 aliasReponse.getAliases()
刷新 es/index/indexs
indicesAdminClient.prepareRefresh().get();
indicesAdminClient.prepareRefresh("test").get()
indicesAdminClient.prepareRefresh("test", "test01").get()
创建索引并设置settings
1 createReponse = indicesAdminClient.prepareCreate("test_yyb").setSettings(Settings.builder()<br> .put("index.number_of_shards", 3).put("index.number_of_replicas", 2)).get()
2 createReponse.isAcknowledged()
更新副本数
1 resReponse = indicesAdminClient.prepareUpdateSettings("test_yyb").setSettings(Settings.builder().<br> put("index.number_of_replicas", 0)).get()
2 resReponse.isAcknowledged()
获取settings
1 setReponse = indicesAdminClient.prepareGetSettings("test_yyb").get()
2 for(ObjectObjectCursor<String, Settings> cusor: setReponse.getIndexToSettings()){<br> String index = cusor.key;<br> Settings settings = cusor.value;<br> Integer shards = settings.getAsInt(settings.get("index.number_of_shards"), null);<br> Integer replaces = settings.getAsInt(settings.get("index.number_of_replicas"), null);<br> System.out.println("index -> shards:" + shards +",replaces:" + replaces );<br> }
设置 mappings
1 mapResponse = indicesAdminClient.preparePutMapping("test_yyb").setType("test").setSource(<br> "{\n" +<br> "\"properties\":{\n" +<br> "\"name\":{\"type\":\"keyword\"}\n" +<br> "}\n" +<br> "}"<br> ).get()
2 mapResponse.isAcknowledged()
获取 mappings
1 getmapResponse = indicesAdminClient.prepareGetMappings("yyb_test").get()
2 MappingMetaData mappings = getmapResponse.getMappings().get("yyb_test").get("test");<br> System.out.println(mappings.getSourceAsMap())