使用bboss往es中插入数据

简介: 使用bboss往es中插入数据

场景

为了简化项目的部署,需要改变原来数据插入方式:

原来的方式:数据发送到kafka,再进入logstatsh,最后到es中

现在的方式:数据直接插入到es中

引入bboss依赖

<!-- BBOSS -->
        <dependency>
            <groupId>com.bbossgroups.plugins</groupId>
            <artifactId>bboss-elasticsearch-spring-boot-starter</artifactId>
            <version>${bboss.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

代码演示

提醒一下,本项目采用的springboot框架哦

package com.xxl.job.executor.test;
import com.xxl.job.executor.utils.CommonUtils;
import org.frameworkset.elasticsearch.boot.BBossESStarter;
import org.frameworkset.elasticsearch.client.ClientInterface;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@SpringBootTest
public class XxlJobExecutorExampleBootApplicationTests {
  @Autowired
  private BBossESStarter bbossESStarter;
  @Test
  public void test() {
    String itemName = "process-index";
    List<Map<String,Object>> captureDataList = new ArrayList<Map<String,Object>>();
    Map<String,Object> metaInfoMap = new HashMap<String, Object>();
    metaInfoMap.put("@timestamp", System.currentTimeMillis());
    metaInfoMap.put("sign", "esc");
    metaInfoMap.put("deptId", 100L);
    metaInfoMap.put("dbName", "dert");
    metaInfoMap.put("itemName", itemName);
    captureDataList.add(metaInfoMap);
    ClientInterface clientUtil = bbossESStarter.getRestClient();
    clientUtil.addDocuments(CommonUtils.getTimeBaseIndexName(itemName),"_doc",captureDataList);
  }
}
package com.xxl.job.executor.utils;
import java.time.LocalDate;
import java.time.YearMonth;
import java.util.List;
public class CommonUtils {
  /**
   * 获取带年月后缀的索引名
   * @param index
   * @return
   */
  public static String getTimeBaseIndexName( String indexName ){
    LocalDate now = LocalDate.now();
      YearMonth yearMonth = YearMonth.from(now);
      StringBuilder sb = new StringBuilder();
      sb.append(indexName);
      sb.append("_");
      sb.append(yearMonth.toString().replace("-", "."));
      return sb.toString();
  }
}


相关文章
|
SQL Java 数据库
Springboot整合JPA 多表关联操作 @Query
Springboot整合JPA 多表关联操作 @Query
867 0
Springboot整合JPA 多表关联操作 @Query
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
48 1
|
5月前
|
XML Java 数据库连接
MyBatis第二课,灰度发布,@Results注解,使用xml书写mysql
MyBatis第二课,灰度发布,@Results注解,使用xml书写mysql
|
6月前
|
JSON 数据格式
es批量插入文件中的数据
es批量插入文件中的数据
|
SQL 前端开发 Java
SpringBoot操作数据库--MybatisPlus【JSB系列之007】
SpringBoot操作数据库--MybatisPlus【JSB系列之007】
|
NoSQL Java MongoDB
Java:SpringBoot项目中MongoTemplate的新增、删除、更新、查询操作
Java:SpringBoot项目中MongoTemplate的新增、删除、更新、查询操作
488 0
|
关系型数据库 MySQL 中间件
MyCat-入门-分片测试-schema.xml 配置 | 学习笔记
快速学习 MyCat-入门-分片测试-schema.xml 配置
MyCat-入门-分片测试-schema.xml 配置 | 学习笔记
|
XML SQL 设计模式
Mybatis 中 .xml 文件定义 <select|insert|update|delete> 语句如何解析
Mybatis 中 .xml 文件定义 <select|insert|update|delete> 语句如何解析
275 0
Mybatis 中 .xml 文件定义 <select|insert|update|delete> 语句如何解析
springMvc38-restful的crud实现删除方式
springMvc38-restful的crud实现删除方式
54 0
springMvc38-restful的crud实现删除方式