当前位置:   article > 正文

利用JavaRestClient实现创建、删除索引库,判断索引库是否存在_resthighlevelclient 删除索引

resthighlevelclient 删除索引

1、初始化RestClient

在elasticsearch提供的API中,与elasticsearch一切交互都封装在一个名为RestHighLevelClient的类中,必须先完成这个对象的初始化,建立与elasticsearch的连接。

1)引入es的RestHighLevelClient依赖:

  1. <dependency>
  2. <groupId>org.elasticsearch.client</groupId>
  3. <artifactId>elasticsearch-rest-high-level-client</artifactId>
  4. <version>7.12.1</version>
  5. </dependency>

注:导入的依赖的版本要和打开的es的版本对应

 2)初始化RestHighLevelClient:

  1. //初始化RestHighLevelClient:
  2. RestHighLevelClient client = new RestHighLevelClient(
  3. RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
  4. );
  5. }

 

 2、创建索引库

  1. //初始化RestHighLevelClient:
  2. RestHighLevelClient client = new RestHighLevelClient(
  3. RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
  4. );
  5. //创建请求
  6. CreateIndexRequest request = new CreateIndexRequest("hotel");
  7. //设置参数
  8. //HotelConstants.HOTEL_MAPPING:是封装了的json建库语句
  9. request.source(HotelConstants.HOTEL_MAPPING, XContentType.JSON);
  10. //执行请求
  11. client.indices().create(request, RequestOptions.DEFAULT);
  12. System.out.println("索引库创建完毕");

 把建库的json封装

  1. package cn.itcast.hotel.utils;
  2. /**
  3. * @author ning
  4. * @since 2022/12/4 22:08
  5. */
  6. public class HotelConstants {
  7. public static final String HOTEL_MAPPING ="{\n" +
  8. " \"mappings\": {\n" +
  9. " \"properties\": {\n" +
  10. " \"id\": {\n" +
  11. " \"type\": \"keyword\"\n" +
  12. " },\n" +
  13. " \"name\":{\n" +
  14. " \"type\": \"text\",\n" +
  15. " \"analyzer\": \"ik_max_word\",\n" +
  16. " \"copy_to\": \"all\"\n" +
  17. " },\n" +
  18. " \"address\":{\n" +
  19. " \"type\": \"keyword\",\n" +
  20. " \"index\": false\n" +
  21. " },\n" +
  22. " \"price\":{\n" +
  23. " \"type\": \"integer\"\n" +
  24. " },\n" +
  25. " \"score\":{\n" +
  26. " \"type\": \"integer\"\n" +
  27. " },\n" +
  28. " \"brand\":{\n" +
  29. " \"type\": \"keyword\",\n" +
  30. " \"copy_to\": \"all\"\n" +
  31. " },\n" +
  32. " \"city\":{\n" +
  33. " \"type\": \"keyword\"\n" +
  34. " },\n" +
  35. " \"starName\":{\n" +
  36. " \"type\": \"keyword\"\n" +
  37. " },\n" +
  38. " \"business\":{\n" +
  39. " \"type\": \"keyword\",\n" +
  40. " \"copy_to\": \"all\"\n" +
  41. " },\n" +
  42. " \"location\":{\n" +
  43. " \"type\": \"geo_point\"\n" +
  44. " },\n" +
  45. " \"pic\":{\n" +
  46. " \"type\": \"keyword\",\n" +
  47. " \"index\": false\n" +
  48. " },\n" +
  49. " \"all\":{\n" +
  50. " \"type\": \"text\",\n" +
  51. " \"analyzer\": \"ik_max_word\"\n" +
  52. " }\n" +
  53. " }\n" +
  54. " }\n" +
  55. "}";
  56. }

 

 3、删除索引库

  1. //初始化RestHighLevelClient:
  2. RestHighLevelClient client = new RestHighLevelClient(
  3. RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
  4. );
  5. //创建请求
  6. DeleteIndexRequest request = new DeleteIndexRequest("hotel");
  7. //执行请求
  8. client.indices().delete(request,RequestOptions.DEFAULT);
  9. System.out.println("索引库删除完毕");
  10. }

 

 4、判断索引库是否存在

  1. //初始化RestHighLevelClient:
  2. RestHighLevelClient client = new RestHighLevelClient(
  3. RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
  4. );
  5. //创建请求
  6. GetIndexRequest request = new GetIndexRequest("hotel");
  7. //执行请求
  8. boolean exists = client.indices().exists(request, RequestOptions.DEFAULT);
  9. System.out.println("索引库是否存在?" + exists);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/68707
推荐阅读
相关标签
  

闽ICP备14008679号