美文网首页
国产elasticsearch orm框架 bboss使用技巧

国产elasticsearch orm框架 bboss使用技巧

作者: DimonHo | 来源:发表于2019-11-07 17:03 被阅读0次

​ 官方介绍:bboss是一款高性能elasticsearch ORM开发库, 以类似于mybatis管理和配置sql的方式,采用xml文件管理elasticsearch的dsl脚本,在dsl脚本中可以使用变量、dsl片段、foreach循环、逻辑判断、注释;支持在线修改、自动热加载dsl配置文件,开发和调试非常方便。bboss对原生elasticsearch restful api、elasticsearch java orm api、elasticsearch sql都提供了很好的支持。如果喜欢直接使用query dsl(es的官方语言),但是又不想在代码里面编写冗长的dsl拼接串的话,可以考虑采用 bboss

因为elasticsearch 官方从6.x版本开始就有计划的让TransportClient退出历史舞台了,因为TransportClient兼容的问题,每次升级elasticsearch对开发人员来说都是一个痛苦的过程。所以官方也建议逐步使用RestClient替换TransportClient。基于这个前提,我在找好用的RestClient的过程中,发现了bboss。下面就我在使用bboss的过程中,记录下我的使用心得。


简单的使用,我这里就不重复写了,这些官方文档里面都写的很清楚了,我只对官方文档中说的不那么清楚的简单的记录一下。

实体类映射

类似于mybatis框架一样,我们也可以用一个实体类对索引文档进行映射,这样可以简化我们对索引文档的日常操作。


@Data
public class Subject{
    private String name;
    private Integer year;
}


/**
* @JsonInclude(JsonInclude.Include.NON_NULL) Jackson序列化json中去除null字段
*/
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyIndex extends ESBaseData {
    
    @ESId
    private String id;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(dataformat = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("gmt_create")
    private Date gmtCreate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Column(dataformat = "yyyy-MM-dd HH:mm:ss")
    @JsonProperty("gmt_modified")
    private Date gmtModified;

    /**
     * @JsonProperty 实体类属性和doc字段不一样,可以用这个注解
     */
    @JsonProperty("main_link")
    private String mainLink;

    /**
     * 嵌套对象字段
     */
    @JsonProperty("subject")
    private List<Subject> subjects;
}

相关文章

网友评论

      本文标题:国产elasticsearch orm框架 bboss使用技巧

      本文链接:https://www.haomeiwen.com/subject/aopvbctx.html