es之java简单创建索引,type和field

1、创建连接。

2,接口。

   /**
     * 创建索引
     * @param client  连接客户端
     * @param indexName 索引名称
     */
    public void createStudentIndex(TransportClient client, String indexName);

3.实现接口。

   @Override
    public void createStudentIndex(TransportClient client, String indexName) {
        CreateIndexRequestBuilder cib = client.admin().indices().prepareCreate(indexName);
        XContentBuilder mapping = null;
        try {
            mapping = XContentFactory.jsonBuilder()
                    .startObject()//表示开始设置值
                    .startObject("properties")//设置只定义字段,不传参
                    .startObject("no") //定义字段名
                    .field("type", "text") //设置数据类型
                    .endObject()
                    .startObject("name")
                    .field("type", "text")
                    .endObject()
                    .startObject("addreess")
                    .field("type", "text")
                    .endObject()
                    .startObject("age")
                    .field("type", "integer")
                    .endObject()
                    .startObject("phone")
                    .field("type", "text")
                    .endObject()
                    .startObject("score")
                    .field("type", "integer")
                    .endObject()
                    .endObject()
                    .endObject();
        } catch (IOException e) {
            e.printStackTrace();
        }
        cib.addMapping("student", mapping);
        cib.execute().actionGet();
  
    }

注:在6.0版本后不能用String,只能用text类型,否则会报错。

4.测试类。

        IndexService indexService = new IndexServiceImpl();
        indexService.createStudentIndex(ConEsUtil.creatConEs(),"school1");

猜你喜欢

转载自blog.csdn.net/a1148233614/article/details/80042075