赞
踩
搭建SpringBoot工程,引入ElasticSearch相关坐标
- <!--引入es的坐标-->
- <dependency>
- <groupId>org.elasticsearch.client</groupId>
- <artifactId>elasticsearch-rest-high-level-client</artifactId>
- <version>7.4.0</version>
- </dependency>
- <dependency>
- <groupId>org.elasticsearch.client</groupId>
- <artifactId>elasticsearch-rest-client</artifactId>
- <version>7.4.0</version>
- </dependency>
- <dependency>
- <groupId>org.elasticsearch</groupId>
- <artifactId>elasticsearch</artifactId>
- <version>7.4.0</version>
- </dependency>
测试
ElasticSearchConfig.java
- @Configuration
- @ConfigurationProperties(prefix = "elasticsearch")
- public class ElasticSearchConfig {
- private String host;
- private int port;
-
- public String getHost() {
- return host;
- }
-
- public void setHost(String host) {
- this.host = host;
- }
-
- public int getPort() {
- return port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- @Bean
- public RestHighLevelClient client(){
- return new RestHighLevelClient(RestClient.builder(
- new HttpHost(
- host,
- port,
- "http"
- )
- ));
- }
- }
- @SpringBootTest
- class ElasticsearchDemoApplicationTests {
-
- @Autowired
- private RestHighLevelClient client;
-
- @Test
- void contextLoads() {
- /* //1.创建ES客户端对象
- RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
- new HttpHost(
- "192.168.149.135",
- 9200,
- "http"
- )
- ));*/
-
- System.out.println(client);
-
-
- }
- /**
- * 添加索引
- */
- @Test
- public void addIndex() throws IOException {
- //1.使用client获取操作索引的对象
- IndicesClient indicesClient = client.indices();
- //2.具体操作,获取返回值
- CreateIndexRequest createRequest = new CreateIndexRequest("itheima");
- CreateIndexResponse response = indicesClient.create(createRequest, RequestOptions.DEFAULT);
-
- //3.根据返回值判断结果
- System.out.println(response.isAcknowledged());
- }
- /**
- * 添加索引
- */
- @Test
- public void addIndexAndMapping() throws IOException {
- //1.使用client获取操作索引的对象
- IndicesClient indicesClient = client.indices();
- //2.具体操作,获取返回值
- CreateIndexRequest createRequest = new CreateIndexRequest("itcast");
- //2.1 设置mappings
- String mapping = "{\n" +
- " \"properties\" : {\n" +
- " \"address\" : {\n" +
- " \"type\" : \"text\",\n" +
- " \"analyzer\" : \"ik_max_word\"\n" +
- " },\n" +
- " \"age\" : {\n" +
- " \"type\" : \"long\"\n" +
- " },\n" +
- " \"name\" : {\n" +
- " \"type\" : \"keyword\"\n" +
- " }\n" +
- " }\n" +
- " }";
- createRequest.mapping(mapping,XContentType.JSON);
- CreateIndexResponse response = indicesClient.create(createRequest, RequestOptions.DEFAULT);
- //3.根据返回值判断结果
- System.out.println(response.isAcknowledged());
- }
- /**
- * 查询索引
- */
- @Test
- public void queryIndex() throws IOException {
- IndicesClient indices = client.indices();
- GetIndexRequest getReqeust = new GetIndexRequest("itcast");
- GetIndexResponse response = indices.get(getReqeust, RequestOptions.DEFAULT);
- //获取结果
- Map<String, MappingMetaData> mappings = response.getMappings();
- for (String key : mappings.keySet()) {
- System.out.println(key+":" + mappings.get(key).getSourceAsMap());
- }
- }
-
- /**
- * 删除索引
- */
- @Test
- public void deleteIndex() throws IOException {
- IndicesClient indices = client.indices();
- DeleteIndexRequest deleteRequest = new DeleteIndexRequest("itheima");
- AcknowledgedResponse response = indices.delete(deleteRequest, RequestOptions.DEFAULT);
- System.out.println(response.isAcknowledged());
- }
-
- /**
- * 判断索引是否存在
- */
- @Test
- public void existIndex() throws IOException {
- IndicesClient indices = client.indices();
- GetIndexRequest getRequest = new GetIndexRequest("itcast");
- boolean exists = indices.exists(getRequest, RequestOptions.DEFAULT);
- System.out.println(exists);
- }
- /**
- * 添加文档,使用map作为数据
- */
- @Test
- public void addDoc() throws IOException {
- //数据对象,map
- Map data = new HashMap();
- data.put("address","北京昌平");
- data.put("name","大胖");
- data.put("age",20);
-
- //1.获取操作文档的对象
- IndexRequest request = new IndexRequest("itcast").id("1").source(data);
- //添加数据,获取结果
- IndexResponse response = client.index(request, RequestOptions.DEFAULT);
-
- //打印响应结果
- System.out.println(response.getId());
-
- }
- /**
- * 添加文档,使用对象作为数据
- */
- @Test
- public void addDoc2() throws IOException {
- //数据对象,javaObject
- Person p = new Person();
- p.setId("2");
- p.setName("小胖2222");
- p.setAge(30);
- p.setAddress("陕西西安");
- //将对象转为json
- String data = JSON.toJSONString(p);
- //1.获取操作文档的对象
- IndexRequest request = new IndexRequest("itcast").id(p.getId()).source(data,XContentType.JSON);
- //添加数据,获取结果
- IndexResponse response = client.index(request, RequestOptions.DEFAULT);
- //打印响应结果
- System.out.println(response.getId());
- }
-
-
- public class Person {
- private String id;
- private String name;
- private int age;
- private String address;
-
-
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- @Override
- public String toString() {
- return "Person{" +
- "id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", age=" + age +
- ", address='" + address + '\'' +
- '}';
- }
- }
- /**
- * 修改文档:添加文档时,如果id存在则修改,id不存在则添加
- */
- @Test
- public void updateDoc() throws IOException {
- Person person=new Person();
- person.setId("2");
- person.setName("李四");
- person.setAge(20);
- person.setAddress("北京三环车王");
- String data = JSON.toJSONString(person);
- IndexRequest request = new IndexRequest("itcast").id(person.getId()).source(data,XContentType.JSON);
- IndexResponse response = client.index(request, RequestOptions.DEFAULT);
- System.out.println(response.getId());
- }
- /**
- * 根据id查询文档
- */
- @Test
- public void findDocById() throws IOException {
- GetRequest getReqeust = new GetRequest("itcast","1");
- //getReqeust.id("1");
- GetResponse response = client.get(getReqeust, RequestOptions.DEFAULT);
- //获取数据对应的json
- System.out.println(response.getSourceAsString());
- }
- /**
- * 根据id删除文档
- */
- @Test
- public void delDoc() throws IOException {
-
-
- DeleteRequest deleteRequest = new DeleteRequest("itcast","1");
- DeleteResponse response = client.delete(deleteRequest, RequestOptions.DEFAULT);
- System.out.println(response.getId());
-
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。