1. 程式人生 > >ElasticSearch添加mapping

ElasticSearch添加mapping

log void exe replicas blog 創建 修改 index obj

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(); }

ElasticSearch添加mapping