美文网首页
国产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