其实很简单
首先我们先要最基本Test写好废话不多说直接上代码
package com.vdyoo.paas.answerservice.search.es.demo; import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder; import org.elasticsearch.client.transport.TransportClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.transport.InetSocketTransportAddress; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.transport.client.PreBuiltTransportClient; import org.junit.Test; import java.io.IOException; import java.net.InetAddress; /** * Created by 启才 on 2017/6/29. */ public class createmapping3 { TransportClient client; @Test public void CreateMapping() throws IOException { client = new PreBuiltTransportClient(Settings.EMPTY) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(""), 9300));//建立链接 CreateIndexRequestBuilder cib=client.admin() .indices().prepareCreate("studentexamtest"); XContentBuilder mapping = XContentFactory.jsonBuilder() .startObject() .startObject("properties") //设置之定义字段 .startObject("id")//字段id .field("type","integer")//设置数据类型 .field("index","not_analyzed") .endObject() .startObject("classs") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("courseClass") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("courseClassExam") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("examnum") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("ok") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("room") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("score") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("student") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("updatetime") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("createtime") .field("type","integer") .field("index","not_analyzed") .endObject() .startObject("answer") .field("type","string") .field("index","not_analyzed") .endObject() .startObject("courseplan") .field("type","string") .field("index","not_analyzed") .endObject() .endObject() .endObject(); cib.addMapping("studentexamtest", mapping); cib.execute().actionGet(); } }我也是最近刚刚学习这个东西
刚开始我也是试了好多的方法,但是都没能实现,因为每一个版本的ES都是大同小异的,
下一步就是我们要看看mapping到底是否创建成功!
打开浏览器输入localhost:9200/studentexamtest localhost也可以是你的IP
在这里 我的结果是这样的!