Elasticsearch Java Client创建索引

1 配置 pom.xml org.springframework.boot spring-boot-starter-test org.elasticsearch.client elasticsearch-rest-high-level-client 7.3.0 org.elasticsearch elasticsearch org.elasticsearch elasticsearch 7.3.0 2 配置 application.yml文件 3 编写配置类

4 编写启动类 5 编写测试类 import com.lagou.ESApplication; import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; import org.elasticsearch.action.admin.indices.create.CreateIndexResponse; import org.elasticsearch.client.IndicesClient; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;

import java.io.IOException;

@SpringBootTest(classes = ESApplication.class) @RunWith(SpringRunner.class) public class TestIndex {

@Autowired
private RestHighLevelClient restHighLevelClient;

@Test
 public void testCreateIndex() throws IOException {
    //创建索引请求
     CreateIndexRequest createIndexRequest = new CreateIndexRequest("elasticsearch_test");
     //设置参数
    createIndexRequest.settings(Settings.builder().put("number_of_shards","1").put("number_of_replicas","0"));

    XContentBuilder xContentBuilder = XContentFactory.jsonBuilder()
            .startObject().field("properties")
            .startObject().field("description")
            .startObject().field("type","text").field("analyzer","ik_max_word").endObject()
            .field("name").startObject().field("type","keyword").endObject()
            .field("pic").startObject().field("type","text").field("index","false").endObject()
            .field("studymodel").startObject().field("type","keyword").endObject()
            .endObject().endObject();

    //创建mapping
    createIndexRequest.mapping("doc",xContentBuilder);
    //操作索引的客户端
    IndicesClient indices = restHighLevelClient.indices();
    CreateIndexResponse createIndexResponse = indices.create(createIndexRequest, RequestOptions.DEFAULT);
    //得到响应
    boolean acknowledged = createIndexResponse.isAcknowledged();
    System.out.println(acknowledged);

}

}

经验分享 程序员 微信小程序 职场和发展