1.创建索引
/** * 创建索引 * * @param indexName */public static void createIndex(String indexName) { //插入前删除,以免报错 boolean flag = client.admin().indices().exists(new IndicesExistsRequest().indices(new String[]{indexName})).actionGet().isExists(); if (flag){ client.admin().indices().prepareDelete(indexName).execute().actionGet(); } client.admin().indices().prepareCreate(indexName).get(); //client.admin().indices().prepareCreate(indexName) // .setSettings(Settings.builder() // .put("index.number_of_shards", 3) // .put("index.number_of_replicas", 2) // ) // .get();}
2.创建mapping
/** * 创建mapping,根据需求修改 * * @param indexName * @param typeName */ public static void createMapping(String indexName, String typeName) { XContentBuilder mappingType = null; try { mappingType = jsonBuilder() .startObject() .startObject(typeName) .startObject("properties") .startObject("id").field("type", "integer").field("store", "yes").endObject() .startObject("Name").field("type", "string").field("store", "yes").field("analyzer", "ik_smart").field("search_analyzer", "ik_smart").endObject() .startObject("updatedate").field("type", "date").field("store", "yes").endObject() .endObject() .endObject() .endObject(); } catch (IOException e) { logger.error("build company mapping failed", e); } PutMappingRequest mapping = Requests.putMappingRequest(indexName).type(typeName).source(mappingType); client.admin().indices().putMapping(mapping).actionGet(); client.admin().indices().prepareRefresh().get(); //client.close(); }
时间: 2024-11-04 20:44:00