【elasticsearch】elasticsearch—API文档

这篇具有很好参考价值的文章主要介绍了【elasticsearch】elasticsearch—API文档。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

elasticsearch—API文档


创建文档
/**
     * 创建文档
     */
    @Test
    public void createDoc() throws IOException {
        //创建es客户端
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        //创建文档-请求对象
        IndexRequest request = new IndexRequest();
        //设置索引及文档主键
        request.index("phone").id("1");
        //创建数据对象
        Phone phone = new Phone("iPhone", "iPhone 11", "5999");
        //添加文档数据,数据格式为JSON格式
        request.source(JSONObject.toJSONString(phone), XContentType.JSON);
        //客户端发送请求,获取响应结果
        IndexResponse response = esClient.index(request, RequestOptions.DEFAULT);
        //打印结果
        System.out.println("index:" + response.getIndex());
        System.out.println("id:" + response.getId());
        System.out.println("result:" + response.getResult());

        //关闭es客户端
        esClient.close();
    }
查询文档
/**
     * 查询文档
     */
    @Test
    public void getDoc() throws IOException {
        //创建es客户端
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        //创建查询文档请求对象
        GetRequest request = new GetRequest();
        //设置索引,根据文档id查询
        request.index("phone").id("1");
        //客户端发送请求,获取响应对象
        GetResponse response = esClient.get(request, RequestOptions.DEFAULT);
        //打印结果
        System.out.println("index:" + response.getIndex());
        System.out.println("type:" + response.getType());
        System.out.println("id:" + response.getId());
        System.out.println("source:" + response.getSourceAsString());

        //关闭es
        esClient.close();
    }
index:phone
type:_doc
id:1
source:{"brand":"iPhone","model":"iPhone 11","price":"5999"}
修改文档
/**
     * 修改文档
     */
    @Test
    public void updateDoc() throws IOException {
        //创建es客户端对象
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        //修改文档-请求对象
        UpdateRequest request = new UpdateRequest();
        //设置索引及文档主键
        request.index("phone").id("1");
        //设置请求体,对文档进行修改
        request.doc(XContentType.JSON, "model", "iPhone 11 Pro", "price", 8999);
        //客户端发送请求,获取响应结果
        UpdateResponse response = esClient.update(request, RequestOptions.DEFAULT);
        //打印响应结果
        System.out.println("index:" + response.getIndex());
        System.out.println("id:" + response.getId());
        System.out.println("source:" + response.getResult());

        //关闭es
        esClient.close();
    }
index:phone
id:1
source:UPDATED

再次查询文档:文章来源地址https://www.toymoban.com/news/detail-735689.html

index:phone
type:_doc
id:1
source:{"brand":"iPhone","model":"iPhone 11 Pro","price":8999}
删除文档
/**
     * 删除文档
     */
    @SneakyThrows
    @Test
    public void deleteDoc() {
        //创建es客户端对象
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );
        //创建删除文档请求对象
        DeleteRequest request = new DeleteRequest();
        //设置索引及文档主键
        request.index("phone").id("1");
        //客户端发送请求,获取响应结果
        DeleteResponse response = esClient.delete(request, RequestOptions.DEFAULT);
        //打印响应信息
        System.out.println(response.getResult());

        //关闭es
        esClient.close();
    }
批量修改文档
/**
     * 批量新增文档
     */
    @Test
    public void bulkCreateDoc() throws IOException {
        //创建es客户端对象
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        //创建批量新增请求对象
        BulkRequest request = new BulkRequest();

        //文档数据1
        IndexRequest request1 = new IndexRequest("phone").id("2");
        Phone phone1 = new Phone("iPhone", "iPhone 13", 5999);
        request1.source(JSONObject.toJSONString(phone1), XContentType.JSON);
        request.add(request1);

        //文档数据2
        IndexRequest request2 = new IndexRequest("phone").id("3");
        Phone phone2 = new Phone("iPhone", "iPhone 13 Pro", 9999);
        request2.source(JSONObject.toJSONString(phone2), XContentType.JSON);
        request.add(request2);

        //文档数据3
        IndexRequest request3 = new IndexRequest("phone").id("3");
        Phone phone3 = new Phone("华为", "HUAWEI P50", 4488);
        request3.source(JSONObject.toJSONString(phone3), XContentType.JSON);
        request.add(request3);

        //发送请求,获取响应结果
        BulkResponse response = esClient.bulk(request, RequestOptions.DEFAULT);
        //打印结果
        System.out.println("took:" + response.getTook()); //took是批量执行花费的时间
        System.out.println("items:" + Arrays.toString(response.getItems()));

        //关闭es
        esClient.close();
    }
批量删除文档
/**
     * 批量删除文档
     */
    @SneakyThrows
    @Test
    public void bulkDeleteDoc() {
        //创建es客户端对象
        RestHighLevelClient esClient = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http"))
        );

        //创建批量删除请求对象
        BulkRequest request = new BulkRequest();
        DeleteRequest request1 = new DeleteRequest("phone").id("1");
        DeleteRequest request2 = new DeleteRequest("phone").id("2");
        DeleteRequest request3 = new DeleteRequest("phone").id("3");

        request.add(request1);
        request.add(request2);
        request.add(request3);

        //客户端发送请求,获取响应结果
        BulkResponse response = esClient.bulk(request, RequestOptions.DEFAULT);
        //打印响应结果
        System.out.println("took:" + response.getTook()); //took是批量执行花费的时间
        System.out.println("items:" + response.getItems());
        
        //关闭es
        esClient.close();
    }

到了这里,关于【elasticsearch】elasticsearch—API文档的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 1024 程序员节,圆一个小小的梦

    Hope is a good thing, maybe the best of things, and no good thing ever dies. 希望是件美丽的东西,也许是最好的东西,而美好的东西是永远不会消逝的。 大家好,我是勇哥 。 1024 , 程序员节,圆了我一个小小的梦。 花了半年时间,我写了一本电子书 ,书名是:《 RocketMQ4.X设计精要 》,我想

    2024年02月08日
    浏览(72)
  • 黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman

    目前我们开发项目大都是前后端分离项目,前端采用h5+css+js+vue基于nodejs,后端采用java、SpringBoot、SSM,大型项目采用SpringCloud微服务。 后端为和前端对接,形成很多API接口,也就是URL链接和其参数。 这时后端写完后我们前端还有大量代码需要写,所以写前端之前最好保证后端

    2024年01月19日
    浏览(53)
  • 解决github ping不通的问题(1024程序员节快乐!

    1024程序员节快乐!( 随便粘贴一个文档,参加活动 域名解析(域名-IP):https://www.ipaddress.com/ Ubuntu平台 github经常ping不通或者访问缓慢,方法是更改hosts文件 在hosts里添加github的ip 140.82.114.4 www.github.com 199.232.5.194 github.global.ssl.fastly.net 54.231.114.219 github-cloud.s3.amazonaws.com 可以访

    2024年01月18日
    浏览(80)
  • 1024程序员节特辑:【Spring Boot自动配置原理揭秘】

    主页传送门:📀 传送   Spring Boot 是一个用于创建独立的、生产级别的 Spring 应用程序的框架。它极大地简化了 Spring 应用程序的开发过程,其中一个关键的功能就是自动配置(Auto-Configuration)。   自动配置可以根据项目需求自动配置各种服务和组件,它可以帮助开发者

    2024年02月08日
    浏览(69)
  • 好用且免费的CodeWhisperer,给1024程序员节送礼来了

          国庆期间没有胆量去人从众的景点,关在家里刷手机时意外在亚马逊的User Group公众号上发现了CodeWhisperer这么个好东西(bu yao qian),以后撸代码也可以提高生产力(fang yang mo yu)了,这还不赶紧上手试一下。看官方介绍说它支持流行的IDE开发工具,包括VS Code、Intelli

    2024年02月08日
    浏览(54)
  • 1024程序员节带你玩转图片Exif信息获取之JavaScript

    目录 一、前言 二、背景 三、Exif.js          1、Exif.js 简介 2、Exif.js 引入 四、多场景展示数据获取 1、原始图片直接获取  2、base64 编码文件加载  3、文件上传的方式加载  五、总结        1024是2的十次方,二进制计数的基本计量单位之一。1G=1024M,而1G与1级谐音,也有一

    2024年02月20日
    浏览(60)
  • 1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

    Spring实战系列文章: Spring实战 | Spring AOP核心秘笈之葵花宝典 Spring实战 | Spring IOC不能说的秘密? 国庆中秋特辑系列文章: 国庆中秋特辑(八)Spring Boot项目如何使用JPA 国庆中秋特辑(七)Java软件工程师常见20道编程面试题 国庆中秋特辑(六)大学生常见30道宝藏编程面试题

    2024年02月08日
    浏览(82)
  • 1024程序员狂欢节 | IT前沿技术、人工智能、数据挖掘、网络空间安全技术

    一年一度的1024程序员狂欢节又到啦!成为更卓越的自己,坚持阅读和学习,别给自己留遗憾,行动起来吧! 那么,都有哪些好书值得入手呢?小编为大家整理了前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术,四大热点领域近期

    2024年02月06日
    浏览(67)
  • 1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月07日
    浏览(84)
  • 1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月08日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包