将数据库的数据导入es中

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

数据量小的方法一:

将数据库的数据导入es中文章来源地址https://www.toymoban.com/news/detail-511702.html

首先必须创建client

public class ClientConfig {
    /**
     * 批量导入到es中必须的
     * @return  RestHighLevelClient
     */
    @Bean
    public RestHighLevelClient restHighLevelClient(){
        return new RestHighLevelClient(RestClient.builder(
                HttpHost.create("http://192.168.150.102:9200")
        ));
    }
}

批量导入数据量大时,用分页

public class FeignTest {

    @Autowired
    private ItemMapperService itemService;
    @Autowired
    private RestHighLevelClient client;
    /**
     * 批量导入文档  方式一
     */
    @Test
    void testBulkRequest() throws IOException {
        buildPage(0, 20000);
    }

    private void buildPage(int current, int size) throws IOException {
        //构建分页器
        List<Item> records = itemService.page(new Page<>(current, size)).getRecords();
        //判断
        if (records == null||records.size() == 0) {
            return;
        }
        //转换为文档类型
        // 1.创建Request
        BulkRequest request = new BulkRequest();
        // 2.准备参数,添加多个新增的Request
        for (Item list : records) {
            // 2.1.转换为文档类型HotelDoc
            ItemDoc itemDoc= new ItemDoc(list);
            //创建新增文档的request对象
            request.add(new IndexRequest("item")
                    .id(itemDoc.getId().toString())
                    .source(JSON.toJSONString(itemDoc), XContentType.JSON));
        }
        // 3.发送请求
        client.bulk(request, RequestOptions.DEFAULT);
        buildPage(current + 1, size);
    }
}

Json的依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>

到了这里,关于将数据库的数据导入es中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Neo4j数据库导入导出dump方法

    首先要关闭neo4j; neo4j stop 导出 其中test文件夹在neo4j下面 导入 导入成功: 再启动neo4j neo4j start

    2024年02月12日
    浏览(48)
  • 使用Ruoyi的方法(数据库的创建、YML文件的修改、前端的导入和启动、云服务器简介、NGINX配置部署前端)

    本文章转载于公众号:王清江唷,仅用于学习和讨论,如有侵权请联系 QQ交流群:298405437 本人QQ:4206359 当我们下载好了Ruoyi-Vue之后,我们得到一个文件夹,如下: 内部又有若干文件,如下: 这里面不仅包括了后端程序(基于SpringBoot的Java程序),也包括前端程序(基于Vue的程

    2024年02月03日
    浏览(81)
  • 【数据库】将excel数据导入mysql数据库

    环境:Windows10 mysql8以上 将你要导入的excel表另存为txt格式 打开txt格式文件,删除表头行并另存为并更改编码方式(由于与数据库的编码不同,会导致导入报错)   通过命令行登录数据库 win+r cmd进入  进入装mysql的目录位置(进入到bin目录)  输入命令进入数据库,注意由于

    2024年02月14日
    浏览(58)
  • easyExcel模板数据导入数据库

    最近项目中需要用到Excel表格的上传下载功能,于是选择了EasyExcel这款工具,总的来说非常的好用,下面就做一个简单的演示。 官方文档地址   EasyExcel · 语雀 Alibaba Easy Excel - 简单、省内存的Java解析Excel工具 | 首页 pom.xml 中需要添加的依赖 这里用到了  @ExcelProperty  注解,这

    2023年04月08日
    浏览(54)
  • 《数据库系统概论》SQL Server 数据库导出、导入教程

    在SQL Server的使用过程中,大家难免遇到数据库表的导出、导入,从而实现用其它电脑打开数据库。 如果是使用学校实验室(机房)电脑做实验的同学,一定要掌握本技能!!! 1、右键点击数据库,“任务”,“生成脚本”,如下图 2、选择对象操作如图,“选择具体的数据

    2024年02月10日
    浏览(75)
  • (2)数据库mongodb 终端 和 vscode创建数据库 数据导入导出

    可视化工具:  Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo) mongodb安装官网 :MongoDB: The Developer Data Platform | MongoDB 文档: 安装 MongoDB - MongoDB-CN-Manual (mongoing.com) 配置环境变量: 是为了扩大调用命令的范围 具体步骤 :我的电脑点右键-属性-高级系统设置-环境变量-系统变量

    2024年02月09日
    浏览(60)
  • 【Navicat】怎么在Navicat新建连接、新建数据库、导入数据库

    新建一个MySQL连接:打开Navicat,点击“ 左上角第一个图标 -- MySQL ”。 其他的信息都是自动出现的,只需填写 连接名和密码 后点击保存,就新建好了一个连接。 打开新建好的连接:点击“Open Connection”打开连接。 出现绿色说明打开了数据库的连接,然后单击右键。 新建数

    2023年04月27日
    浏览(89)
  • 达梦数据库导入导出

    说明(默认值) USERID 用户名/口令 FILE 导出文件 (dexp.dmp) DIRECTORY 导出文件所在目录 FULL 整库导出 (N) OWNER 以用户方式导出 格

    2024年02月14日
    浏览(75)
  • 100万数据,如何快速的导入数据库?

    数据导出、导入是非常常见的开发操作,但在这个过程中,很多开发者都会遇到诸如数据乱码、数据格式不支持、数据量太大等问题。NineData 最新发布的数据导入功能,帮助用户在保障数据完整和准确的同时,轻松地将大量的数据从文件中导入到目标数据库中。 NineData 的数据

    2024年02月09日
    浏览(57)
  • Linux 使用bash创建MYSQL数据库并导入数据库文件

    主要是杠一下的数据库123-456.sql,这个神经病一样,试了很多写法

    2024年01月22日
    浏览(67)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包