ElasticSearch添加mapping

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch添加mapping相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch动态模板设置

在elasticsearch中建立index,并添加type定义mapping

Elasticsearch全文检索技术 一篇文章即可从入门到精通(Elasticsearch安装,安装kibana,安装ik分词器,数据的增删改查,全文检索查询,聚合aggregations)(代码片

ElasticSearch7.3 学习之定制动态映射(dynamic mapping)

Elasticsearch:Dynamic field mapping

ElasticSearch 7.x mapping 定义说明