​ 官方介绍: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 subjects;

}

python elasticsearch orm_国产elasticsearch orm框架 bboss使用技巧相关推荐

  1. python orm框架sqlalchemy_python orm 框架中sqlalchemy用法实例详解

    本文实例讲述了python orm 框架中sqlalchemy用法.分享给大家供大家参考,具体如下: 一.ORM简介 1. ORM(Object-Relational Mapping,对象关系映射): ...

  2. Python 使用ORM框架

    前沿 对象关系映射ORM是在实际应用编程中常用到的技术,它在对象和关系之间建立了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过这个桥梁来相互转化.简单来说就是开发人员在使用ORM模型编程时,不 ...

  3. python数据库框架_Python数据库及ORM框架对比选择

    使用Python进行MySQL的库主要有三个: Python-MySQL(更熟悉的名字可能是MySQLdb), PyMySQL SQLAlchemy. Python-MySQL: 资格最老,核心由C语 ...

  4. linux下载python的es库,Elasticsearch py客户端库安装及使用方法解析

    一.介绍 elasticsearch-py是一个官方提供的low-level的elasticsearch python客户端库.为什么说它是一个low-level的客户端库呢?因为它只是对elasti ...

  5. python——type()、metaclass元类和精简ORM框架

    1.type()函数 #type()函数既可以返回一个对象的类型,又可以创建出新的类型, # 比如,我们可以通过type()函数创建出Hello类,而无需通过class Hello(object).. ...

  6. python安装orm_Python流行ORM框架sqlalchemy安装与使用教程

    本文实例讲述了Python流行ORM框架sqlalchemy安装与使用.分享给大家供大家参考,具体如下: 安装 1.安装 #进入虚拟环境 #执行 ./python3 -m pip install im ...

  7. python orm框架sqlalchemy_python ORM框架:SqlAlchemy

    ORM,对象关系映射,即Object Relational Mapping的简称,通过ORM框架将编程语言中的对象模型与数据库的关系模型建立映射关系,这样做的目的:简化sql语言操作数据库的繁琐过程( ...

  8. eric python mysql,python入门教程13-07 (python语法入门之ORM框架SQLAlchemy)

    本章节主要介绍了python的orm框架的介绍以及作用,ORM框架的类型及运用方法,下面我们一起来看看吧! 一.面向对象应用场景: 1.函数有共同参数,解决参数不断重用: 2.模板(约束同一类事物的, ...

  9. 【ORM框架】Python ORM框架——peewee(详细)

    文章目录 前言 一.peewee的安装和入门 1.字段类型表&Meta类型表&类型属性表 字段类型表 Meta类型表 类型属性表 2.设计表结构 防止连接丢失 二.表的设计&操 ...

最新文章

  1. pci串口驱动安装失败_TSC TTP-243E Pluse装LTP并口驱动无法安装
  2. 周志华,李航来智源大会了!
  3. mysql json类型数组索引_MySQL JSON 类型数据操作
  4. usaco The Castle(flood fill)
  5. 前端学习(3320):undefine和null 3
  6. java imagemagick 接口_ImageMagick安装及使用教程
  7. python实现模糊搜索_Python 代码实现模糊查询
  8. Itext学习(二)----实现把图片转化为pdf
  9. mysql三表联合更新_mysql三表连接update
  10. Mysql用户管理(远程连接、授权)
  11. python 抠图源码_别再自己抠图了,Python用5行代码实现批量抠图
  12. 大一计算机期末考试高数试卷,大一高数期末考试试题
  13. Oracle 定时任务详解(dbms_scheduler)
  14. 24L01/SI24R1调试笔记
  15. Python 使用记事本、sublime、vim时报错:IndentationError: expected an indented block
  16. python实现百度语音合成(超详细!!)
  17. python画史迪仔_手把手教你如何使用Python来生成马赛克画!
  18. 智慧路灯杆网关的备用网络方案
  19. 获取android 用到的所有开发包文件
  20. html图片自动左右轮播,原生JS实现图片左右轮播

热门文章

  1. 设置PHP最长运行时间
  2. 微信小程序python flask_Python Flask 搭建微信小程序后台详解
  3. 日志分析ELK平台部署第一节
  4. ES:倒排索引、分词详解(02-28 - 03-04)
  5. cad lisp程序大集,超经典CAD lisp程序集锦、CAD快捷键大全
  6. Mybatis基本使用步骤
  7. BZOJ 2302 HAOI2011 Problem c 动态规划
  8. 号称下一代监控系统 来看看它有多牛逼
  9. 谷歌退出将会给中国互联网带来的10个变化 1
  10. hosts 文件已经锁定,请重启电脑后再继续修改,或通过恢复区恢复