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

这篇具有很好参考价值的文章主要介绍了利用JavaRestClient实现创建、删除索引库,判断索引库是否存在。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、初始化RestClient

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

1)引入es的RestHighLevelClient依赖:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.12.1</version>
</dependency>

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

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

 2)初始化RestHighLevelClient:

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

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

 

 2、创建索引库

        //初始化RestHighLevelClient:
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
        );
        //创建请求
        CreateIndexRequest request = new CreateIndexRequest("hotel");
        //设置参数
        //HotelConstants.HOTEL_MAPPING:是封装了的json建库语句
        request.source(HotelConstants.HOTEL_MAPPING, XContentType.JSON);
        //执行请求
        client.indices().create(request, RequestOptions.DEFAULT);

        System.out.println("索引库创建完毕");

 把建库的json封装

package cn.itcast.hotel.utils;

/**
 * @author ning
 * @since 2022/12/4 22:08
 */

public class HotelConstants {
    public static final String HOTEL_MAPPING ="{\n" +
            "  \"mappings\": {\n" +
            "    \"properties\": {\n" +
            "      \"id\": {\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"name\":{\n" +
            "        \"type\": \"text\",\n" +
            "        \"analyzer\": \"ik_max_word\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"address\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"index\": false\n" +
            "      },\n" +
            "      \"price\":{\n" +
            "        \"type\": \"integer\"\n" +
            "      },\n" +
            "      \"score\":{\n" +
            "        \"type\": \"integer\"\n" +
            "      },\n" +
            "      \"brand\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"city\":{\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"starName\":{\n" +
            "        \"type\": \"keyword\"\n" +
            "      },\n" +
            "      \"business\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"copy_to\": \"all\"\n" +
            "      },\n" +
            "      \"location\":{\n" +
            "        \"type\": \"geo_point\"\n" +
            "      },\n" +
            "      \"pic\":{\n" +
            "        \"type\": \"keyword\",\n" +
            "        \"index\": false\n" +
            "      },\n" +
            "      \"all\":{\n" +
            "        \"type\": \"text\",\n" +
            "        \"analyzer\": \"ik_max_word\"\n" +
            "      }\n" +
            "    }\n" +
            "  }\n" +
            "}";
}

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

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

 3、删除索引库

        //初始化RestHighLevelClient:
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
        );
        //创建请求
        DeleteIndexRequest request = new DeleteIndexRequest("hotel");
        //执行请求
        client.indices().delete(request,RequestOptions.DEFAULT);

        System.out.println("索引库删除完毕");
    }

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

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

 4、判断索引库是否存在

        //初始化RestHighLevelClient:
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(HttpHost.create("http://192.168.177.132:9200"))
        );
        //创建请求
        GetIndexRequest request = new GetIndexRequest("hotel");
        //执行请求
        boolean exists = client.indices().exists(request, RequestOptions.DEFAULT);

        System.out.println("索引库是否存在?" + exists);

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

利用JavaRestClient实现创建、删除索引库,判断索引库是否存在文章来源地址https://www.toymoban.com/news/detail-507873.html

到了这里,关于利用JavaRestClient实现创建、删除索引库,判断索引库是否存在的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ElasticSearch】JavaRestClient实现索引库和文档的增删改查

    ES官方提供了各种不同语言的客户端,用来操作ES,即RestClient。这些 客户端的本质就是组装DSL语句,通过http请求发送给ES。 数据库信息如下: 导入demo工程,基本结构如下: ES的mapping要考虑的点主要有: 字段名(name) 字段类型(type) 是否参与搜索(index) 是否分词(typ

    2024年02月13日
    浏览(36)
  • 实现一个MYSQL工具类,包含判断创建数据表是否存在,创建数据表

    可以使用Python的MySQLdb模块来实现一个MYSQL工具类。下面是一个简单的实现示例: 使用示例: 在上面的示例中,我们首先创建了一个MySQLTool类,并在初始化方法中传入了数据库的连接信息。然后使用connect方法连接到数据库。 table_exists方法用于判断给定的数据表是否存在,它执

    2024年01月15日
    浏览(67)
  • RestHighLevelClient 判断索引是否存在

    2024年01月24日
    浏览(68)
  • 【ElasticSearch】判断该索引是否存在

    es7.10

    2024年02月17日
    浏览(56)
  • 利用逻辑回归判断病人肺部是否发生病变

          大家好,我是带我去滑雪!       判断肺部是否发生病变可以及早发现疾病、指导治疗和监测疾病进展,以及预防和促进肺部健康,定期进行肺部评估和检查对于保护肺健康、预防疾病和提高生活质量至关重要。本期将利用相关医学临床数据结合逻辑回归判断病人肺部

    2024年02月11日
    浏览(31)
  • 利用Matlab判断系统是否可控可观测

    自动控制系统中,经常会遇到需要判断系统是否可控可观测的情况,Matlab在这方面处理很方便快捷。 对于一个线性时不变动态方程来讲,系统是否可控可以使用判据 [ B , A B , A 2 B , . . . , A n − 1 B ] [B ,AB ,A^2B,...,A^{n-1}B] [ B , A B , A 2 B , . . . , A n − 1 B ] 进行判断,也就是判断这

    2024年02月03日
    浏览(44)
  • 利用C语言去判断是否为整数

    整型 int: 例如: int a=-3.2;   ----  输出:-3             int b=4.75;  ----- 输出:4 直接取整数部分!!! 故引出判断方法: C语言中可以有强制转换类型的操作!!!  if (  float    ==    int )   return true;   ps:个人经验,心得理解分享! (仅供参考)

    2024年02月08日
    浏览(43)
  • 利用OpenCV判断图像是否过亮或过暗

    在处理图像自动亮度调节时,需要判断图像是否过亮或者过暗,从而根据图像给出的结果,进行调节。方法如下:

    2024年02月15日
    浏览(43)
  • Unity利用正则表达式判断字符串是否满足要求

    首先该方法属于C#,是C#提供的,不是unity提供的,但我使用这个是在unity中使用的,故此我将其归入unity笔记。 该方式可用于注册、登录等等需要用户输入的场景,用以判断字符串是否满足正则表达式的要求 首先介绍该API 这里开始介绍,大家可以看看官方的文档Regex.IsMatch 方

    2024年01月16日
    浏览(53)
  • 使用js判断list中是否含有某个字符串,存在则删除,

    显示上图中使用了两种方式, 左边的是filter将不等于userCode的元素筛选出来组成一个新的list, 但是上面这个方法在 IE浏览器中不支持 , 所以改成了右边的方法,使用splice: splice传入两个参数,第一个参数是要删除的元素的索引位置,第二个是从这个索引往后删除几个;

    2024年01月24日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包