ElasticSearch bulk批量插入数据

2023-11-09

环境:使用RestHighLevelClient进行bulk操作

代码如下:

/**
     * es 批量存数据的方法
     * 1.创建es clent
     * 2.创建bulk请求体
     * 3.向bulk请求体中添加多个数据
     * 4.发起rest请求
     * 5.关闭client
     * @throws IOException
     */
public void bulk2() throws IOException {

        int a = 1;
        //创建连接
        RestHighLevelClient restClient = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("localhost",9200,"http")
                )
        );


        BulkRequest request = new BulkRequest();

        // source中可以存入Map(String,Object)
        request.add(new IndexRequest("index_text","doc","1")
                .source(XContentType.JSON,"name","amy","age",10))
                .add(new IndexRequest("index_text","doc","2")
                .source(XContentType.JSON,"name","bob","age",11));

        restClient.bulk(request);

        restClient.close();

    }

代码中传入source()中的参数还可以为一下形式

        // 通过Map(String,Object) 构建source中的参数
        BulkRequest request2 = new BulkRequest();

        Map<String,Object> jsonMap = new HashMap<>();
        jsonMap.put("name","小明");
        jsonMap.put("age",11);

        request2.add(new IndexRequest("index_text","doc","1")
                .source(jsonMap));
        restClient.bulk(request2);

        // 通过XContentBuilder 构建source中的参数
        XContentBuilder builder = new XContentFactory().jsonBuilder();
        builder.startObject();
        {
            builder.field("name","小红");
            builder.timeField("date",new Date());
        }
        builder.endObject();

        BulkRequest request3 = new BulkRequest();
        request3.add(new IndexRequest("index_text","doc","5")
                .source(builder));

 

出现问题:java.lang.NoClassDefFoundError: org/elasticsearch...报错

原因:依赖不对 org.elasticsearch elasticsearch 依赖因与本地es版本相同(我使用的为6.3.1)

所需依赖如下(4个):

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

        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>6.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.11.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.11.1</version>
        </dependency>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ElasticSearch bulk批量插入数据 的相关文章

  • 《再也不怕elasticsearch》REST API调用

    REST API调用 大家好我是迷途 一个在互联网行业 摸爬滚打的学子 热爱学习 热爱代码 热爱技术 热爱互联网的一切 再也不怕elasticsearch系列 帅途会慢慢由浅入深 为大家剖析一遍 各位大佬请放心 虽然这个系列帅途有时候更新的
  • 报错 blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];ElasticSearch 报错

    报错 Caused by org elasticsearch cluster block ClusterBlockException blocked by FORBIDDEN 12 index read only allow delete
  • Elasticsearch 相关度评分TF&IDF算法揭秘

    1 算法介绍 relevance score算法 简单来说 就是计算出 一个索引中的文本 与搜索的文本 他们之间的关联匹配程序 ElasticSearch使用的是term frequency inverse document frequen
  • ELK 性能优化实践

    点击上方蓝色 方志朋 选择 设为星标 回复 666 获取独家整理的学习资料 一 背景介绍 近一年内对公司的 ELK 日志系统做过性能优化 也对 SkyWalking 使用的 ES 存储进行过性能优化 在此做一些总结 本篇主要是讲 ES 在
  • ES 搜索3 (查找多个精确值)

    查找多个精确值 term 查询对于查找单个值非常有用 但通常我们可能想搜索多个值 如果我们想要查找价格字段值为 20 或 30 的文档该如何处理呢 不需要使用多个 term 查询 我们只要用单个 terms 查询 注意末尾的 s terms
  • 解决Java JPA Es索引时间戳字符串格式比较问题

    说明 在Java开发中常见使用 yyyy MM dd HH mm ss 来格式化时间戳 例如 ApiModelProperty 订单开始日期 JsonFormat pattern yyyy MM dd HH mm ss JSONField
  • 记一次ElasticSearch 更改 mapping 字段类型的过程

    我的个人博客 逐步前行STEP 首先 es不支持直接更改mappinng 所以 更改 mapping 实质上是重建索引 操作步骤如下 1 为当前这个索引old index设置一个别名my index curl XPOST localhost
  • windows下安装ElasticSearch的Head插件

    es5以上版本安装head需要安装node和grunt 1 从https nodejs org en download 下载相应系统的msi 双击安装 2 安装完成用cmd进入安装目录执行 node v 可查看版本号 3 执行 npm in
  • ElasticSearch

    ElasticSearch 一 ES介绍 ES是一款基于倒排索引的NoSQL数据库 传统数据库对于模糊查询存在性能瓶颈 而ES更擅长与大数据量的模糊查询 ES在存储数据的时候会先将数据进行分词 将分词的结果作为索引存入数据库中 当进行查询时
  • Beats — Filebeat 基础操作

    ElasticStack Beats 定义 一 ElasticStack 的组成 二 Beats 组件 FileBeat 日志采集 二 Filebeat 工作原理 三 启动命令 四 部署和运行 1 output console 通过终端获取
  • 如何使用 Perl 轻松批量重命名文件?

    我有很多文件正在尝试重命名 我尝试创建一个正则表达式来匹配它们 但即使如此 我仍然卡在文件的命名上 如下所示 文件名01 文件名 100 文件名02 文件名03 等等 我想在任何小于 100 的文件后面添加一个 0 零 如下所示 文件名00
  • 使用 BULK INSERT 命令将 CSV 文件导入 SQL Server 表

    我有 CSV 文件 其中有几个数据列 CSV 文件看起来像 字段1 测试1字段2 测试2字段3 测试3 测试4 测试5 在这种情况下 我可以使用哪个库作为字段终止符 我的意思是如果我使用此查询将 CSV 文件插入到shopifyitem表
  • SQL Server批量导入UTF-8数据格式文件

    我一直在参考以下页面 http msdn microsoft com en us library ms178129 aspx http msdn microsoft com en us library ms178129 aspx 我只是想从
  • 将 CSV 文件导入 SQL Server

    我正在寻求帮助以导入 csv使用以下命令将文件存入 SQL ServerBULK INSERT我有几个基本问 题 Issues CSV 文件数据可能有 逗号 之间 例如 描述 那么我怎样才能使导入处理这些数据呢 如果客户端从 Excel 创
  • Elasticsearch 未分配分片 CircuitBreakingException[[parent] 数据太大

    我收到警报 指出 elasticsearch 有 2 个未分配的分片 我进行了以下 api 调用以收集更多详细信息 curl s http localhost 9200 cluster allocation explain python m
  • _update_by_query

    POST your index update by query script source ctx source new field updated value query match your field your value
  • 避免被网络邮件公司阻止群发/批量发送电子邮件? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我们公司每天发送大量电子邮件 并计划将来发送更多 数千 此外 时不时还会有数以万计的大量邮件发送 有人有过 hotmail yahoo web de
  • Django:更有效地从多对多关系中删除项目

    我的图书类使用多对多字段来拯救读者 如果我想从某些书中删除读者 我可以使用循环遍历所有书籍对象以删除读者 但这太慢了 可以批量操作吗 class Book models Model readers models ManyToManyFiel
  • Kibana 服务器尚未准备好甚至启动

    我有1个主节点 master 和1个数据节点 node 1 我使用centos7作为操作系统 主控 9200 root localhost kibana curl localhost 9200 name master cluster nam
  • Linq to Nhibernate 批量更新查询等效项?

    不确定我是否在这里遗漏了任何东西 基本上 我正在寻找 Linq to Nhibernate 来执行以下 SQL 语句 update SomeTable set SomeInteger SomeInteger 1 where SomeInte

随机推荐

  • Java-静态绑定和动态绑定

    Java 静态绑定和动态绑定 绑定的概念 静态绑定 动态绑定 举例 绑定的概念 绑定指的是一个方法的调用与方法所在的类 方法主体 关联起来 对java来说 绑定分为静态绑定和动态绑定 或者叫做前期绑定和后期绑定 静态绑定 概念 在程序执行前
  • 字符编码与C++

    背景 C 的项目 字符编码是一个大坑 不同平台之间的编码往往不一样 如果不同编码格式用一套字符读取格式读取就会出现乱码 所以本文旨在对字符编码的知识做一个大概的梳理 字符编码定义 计算机是以二进制的形式来存储数据的 它只认识 0 和 1 两
  • angular2配置反向代理

    解决angualr2跨域问题 项目根目录下创建proxy conf json文件夹 api target http 106 75 29 87 8182 pathRewrite api environment gt environment t
  • 1093 - You can‘t specify target table ‘api‘ for update in FROM clause

    1093 You can t specify target table api for update in FROM clause 翻译 白话 例 修改 解决 翻译 您不能在 FROM 子句中指定目标表 Table 进行更新 白话 你不能先
  • @PreAuthorize注解详解

    PreAuthorize注解会在方法执行前进行权限验证 支持Spring EL表达式 它是基于方法注解的权限解决方案 只有当 EnableGlobalMethodSecurity prePostEnabled true 的时候 PreAut
  • OpenGL 各个shader的作用和区别

    OpenGL4 0发布了Tessellation shader Control Evaluation shader 到OpenGL4 为止 现在OpenGL已经支持了5种不同类型的shader 1 Vertex Shader 简称VS 2
  • Java必懂之单例模式

    一 背景知识 在所有的主流23中设计模式中 单例模式作为最简单也最容易理解也是使用最普遍的设计模式 他是一种对象创建模式 用于产生一个对象的具体实例 他可以确保系统中一个类只产生一个实例 单例模式的优点如下 1 对于频繁创建的对象 可以省去
  • LeetCode 之 剑指 Offer 16. 数值的整数次方(Java)

    文章目录 LeetCode 之 剑指 Offer 16 数值的整数次方 Java 一 题目 二 解题思路 1 递归 2 迭代 三 代码 1 递归 2 迭代 LeetCode 之 剑指 Offer 16 数值的整数次方 Java 一 题目 剑
  • 恶搞放屁小程序源码

    恶搞放屁小程序源码 无流量主 点击选择一款符合您品味气质的 设置播放参数 然后可以发送伪装二维码 发送给好友 http bbs lxh5068 com 12647 html
  • 关于注册keil的事儿,为啥注册成功之后keil还是提示会限制2K内存

    没别的 套用别人幽默的说法 keil为了安慰你啥都干得出来 编译没通过也不报错 注册失败了也会显示个成功 我拿着手里的注册机 听着歌试了一又一次 都气的快唱起来来了 可是一连接proteus远程调试就失败 debug也不行 马上提示限制2K
  • iphone屏幕突然变暗_iPhone 玩游戏时屏幕突然变暗,来看看是什么原因?

    有没有小伙伴的苹果手机遇到过这种情况 手机打着王者好好的屏幕突然变暗了 而且屏幕亮度调到最大也还是没有亮起来 这到底是怎么回事 后来我仔细研究了一下才知道这其中的原因 朋友们也来看看 一般手机屏幕突然变暗 有两种原因 自动亮度调节未关闭 我
  • C++中的模版

    一 函数模版 函数模板不是一个实在的函数 编译器不能为其生成可执行代码 定义函数模板后只是一个对函数功能框架的描述 当它具体执行时 将根据传递的实际参数决定其功能 函数模板类型自推 能够根据参数类型自动推演出模板类型参数 1 语法格式 te
  • Qt样式表 基础篇(2)

    这部分的内容直接来自Qt官方文档 原滋原味 不做过多介绍和翻译 因为 实在是非常完备了 Qt 帮助文档 目录 Qt Style Sheets Reference 样式表相关资料 List of Stylable Widgets 可设置样式的
  • 输出越界问题 和 long long 的两数加法问题

    做hdu http acm hdu edu cn showproblem php pid 2047 阿牛的牛肉串有感 注意方面一 测试 边界的数值 考虑会不会越界 注意方面二 在使用时注意这一点 如下文 直接相加 和赋值后相加不一样 pay
  • js前置递增和后置递增

    1 单独使用时 效果一样 与其他代码连用时 执行结果不同 2 前置 先自加 后运算 先己后人 后置 先原值运算 后自加 先人后己 3 开发时 大多使用后置递增 减 且代码独占一行 例如 num 或者num
  • Idea中启动一个工程多个实例

    我们有时候经常一个工程启动多个实例 分别占用不同的端口 转载记录如下 step 1 在IDEA上点击Application右边的下三角 弹出选项后 点击Edit Configuration step 2 打开配置后 将默认的Single i
  • ERP制造模块操作与设计--开源软件诞生30

    赤龙ERP制造模块讲解 第30篇 用日志记录 开源软件 的诞生 进入地址 点亮星星 祈盼着一个鼓励 博主开源地址 码云 https gitee com redragon redragon erp GitHub https github co
  • java 代码scope注解_【Spring注解驱动开发】使用@Scope注解设置组件的作用域

    本文内容概览 Scope注解概述 单实例bean作用域 多实例bean作用域 单实例bean作用域如何创建对象 多实例bean作用域如何创建对象 单实例bean注意的事项 多实例bean注意的事项 自定义Scope的实现 Scope注解概述
  • MySQL安装与截图(详解版)

    一 在MySQL官网下载应用程序 二 安装MySQL 三 配置MySQL 四 将bin路径复制 配置MySQL的环境变量 五 登录MySQL mysql u root p 下载MySQL 进入官网MySQL 点击DOWNLOADS 进入DO
  • ElasticSearch bulk批量插入数据

    环境 使用RestHighLevelClient进行bulk操作 代码如下 es 批量存数据的方法 1 创建es clent 2 创建bulk请求体 3 向bulk请求体中添加多个数据 4 发起rest请求 5 关闭client throw