SpringBoot如何整合BBoss Elasticsearch呢

大家一定很熟悉mybatis了,它是一个持久层框架,可以通过简单的XML或注解来配置,映射为数据库中的数据。我们通常是在xml文件中写sql,来操作数据库中的数据。而接下来要讲的bboss elasticsearch就和它类似,大家习惯了之前这个使用mybatis的方式操作数据库了,使用java客户端直接操作elasticsearch会不习惯,所以可以使用bboss来操作elasticsearch。

bboss是一款高性能elasticsearch ORM开发库, 以类似于mybatis管理和配置sql的方式,采用xml文件管理elasticsearch的dsl脚本,在dsl脚本中可以使用变量、dsl片段、foreach循环、逻辑判断、注释;支持在线修改、自动热加载dsl配置文件,开发和调试非常方便。
bboss elasticsearch是一套基于query dsl语法操作和访问分布式搜索引擎elasticsearch的o/r mapping高性能开发库,底层基于es restful api。

SpringBoot整合BBoss Elasticsearch的步骤

1、引入bboss的依赖

<dependency>
    <groupId>com.bbossgroups.plugins</groupId>
     <artifactId>bboss-elasticsearch-spring-boot-starter</artifactId>
     <version>5.1.5</version>
 </dependency>

2、配置yml文件

spring:
  elasticsearch:
    bboss:
      elasticsearch:
        rest:
          hostNames: 127.0.0.1:9200 # elasticsearch的地址
        dslfile:
          refreshInterval: -1

mapper文件的结构(在配置ClientInterface的时候需要这个路径)
在这里插入图片描述

3、在服务提供类注入ClientInterface 引入xml

ClientInterface clientUtil = ElasticSearchHelper.getConfigRestClientUtil("mapper/NoticeMapper.xml");

4、接下来就可以通过clientUtil来操作索引及文档了

比如查询某个文档

ESDatas<NoticeEntity> noticeEntityESDatas = clientUtil.searchList("test11/notice/_search", "selectNoticByTitle", params, NoticeEntity.class);

test11/notice/_search:是path,是执行elasticsearch的命令
params:是传的参数,是个map结构
例如

Map<String, Object> params = new HashMap<>();
params.put("title","华春莹发推讽刺美国政府双标");

selectNoticByTitle:就是xml文件中对应的name

<properties>
	<property name="selectNoticByTitle">
        <![CDATA[
        {
          "query": {
            "match": {
              "title": #[title]
            }
          }
        }
        ]]>
    </property>
</properties>

这样就是类似使用mybatis操作mysql一样的习惯方式来操作elasticsearch了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值