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);
}
}
