elestaticsearch原生写法创建mapping
Posted 刘百会
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elestaticsearch原生写法创建mapping相关的知识,希望对你有一定的参考价值。
public class TestMapping { private static String ES_HOST1 = "127.0.0.1"; //private static String ES_HOST2 = "192.168.10.254"; private static int ES_PORT = 9300; public static void main(String[] args) { Settings settings = Settings.builder().put("cluster.name", "my-application").build(); TransportClient client=null; try { client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName(ES_HOST1), ES_PORT)); } catch (UnknownHostException e) { e.printStackTrace(); } try { createMapping(client); } catch (IOException e) { e.printStackTrace(); } } public static void createMapping(TransportClient client) throws IOException { //创建mapping-需要创建一个空 索引,如果没有索引,创建mapping时会报错 client.admin().indices().prepareCreate("film9").execute().actionGet(); //创建mapping约束字段 XContentBuilder mapping = XContentFactory.jsonBuilder() .startObject() .startObject("properties") .startObject("title") .field("type","text") .endObject() .startObject("publishDate") .field("type", "date") .endObject() .startObject("content") .field("type","text") .field("analyzer", "standard") .endObject() .startObject("director") .field("type", "keyword") .endObject() .startObject("price") .field("type", "float") .endObject() .endObject() .endObject(); //添加mapping 绑定到 index PutMappingRequest putMappingRequest = Requests.putMappingRequest("film9").type("dongzuo").source(mapping); boolean result = client.admin().indices().putMapping(putMappingRequest).actionGet().isAcknowledged(); client.close(); System.out.println(result); } }
以上是关于elestaticsearch原生写法创建mapping的主要内容,如果未能解决你的问题,请参考以下文章