bboss-elasticsearch--API
原文网址:bboss-elasticsearch--API_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍bboss-elasticsearch的API。
官网
Elasticsearch索引文档增删改查 - Elasticsearch Bboss
Elasticsearch开发指南 - Elasticsearch Bboss
注解
官网
ElasticSearch客户端注解介绍 - Elasticsearch Bboss
属性注解
注解 | 说明 | 重要属性/示例 |
@ESId |
指定文档id值,作为文档唯一标识。 根据此值对应的索引文档存在与否来决定添加或者修改操作(存在则修改,不存在则添加)。 若不用此注解,添加文档时es自动设置文档id属性。 |
// 是否将注解属性作为普通文档属性来保存。 // 查询/检索文档时,是否将文档id设置给对应被注解的属性 示例: //ip作为id,根据ip值对应的索引文档存在与否来决定添加或修改 @ESId(readSet = true,persistent = false) |
@ESParentId | 指定为parentid |
// 是否将注解属性作为普通文档属性来保存。 // 查询/检索文档时,是否将文档id设置给对应被注解的属性 |
@ESVersion |
指定为文档版本信息。 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@ESVersionType |
指定文档版本类型。 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@ESRetryOnConflict | 文档修改操作版本冲突重试次数 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@ESRouting | 路由信息 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@ESDocAsUpsert | 文档不存在时是否添加文档 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@ESSource | 返回值是否包含文档source数据的控制变量 |
// 是否将注解属性作为普通文档属性来保存。 boolean persistent() default true; |
@Column |
指定索引文档和对象属性的映射关系、指定日期格式等。 指定日期格式时一般与@JsonFormat一起使用。例如: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") @Column(dataformat = "yyyy-MM-dd HH:mm:ss.SSS") |
escape:是否对参数值进行特殊字符转义处理。true 处理;false 不处理。 默认为空,这时若是map传递参数,默认转义;若是bean传值,若bean属性指定了@Column(escape="false")则按照注解中设置的escape属性值来控制是否转义,若没在column注解中指定escape,则默认转义。 示例: @Column(name="docInfo.author",dataformat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",timezone = "Etc/UTC",locale = "zh") private String docInfoAuthor; |
@JsonIgnore | 不作为es字段保存 |
@JsonIgnore private Integer sqlEndElapsed; |
@PrimaryKey |
跟@EsId作用一样(推荐用@EsId) @EsId比@PrimaryKey多两个属性:readSet,persistent |
@EsIndex
bboss 5.6.8新增了一组添加和修改文档的api,这组api没有带indexName和indextype参数,对应的索引和索引type在po对象中通过@ESIndex注解来指定。
@ESIndex提供了两个属性name和type,使用方法:
@ESIndex(name="indexName") //es 7不需要指定type
@ESIndex(name="indexName",type="indexName")// 索引名称由indexName和日期类型字段agentStarttime通过yyyy.MM.dd格式化后的值拼接而成,索引类型为indexName
@ESIndex(name="indexName-{agentStarttime,yyyy.MM.dd}",type="indexName")// 索引名称由indexName和当前日期通过yyyy.MM.dd格式化后的值拼接而成,索引类型为type字段对应的值
@ESIndex(name="indexName-{dateformat=yyyy.MM.dd}",type="{type}")// 索引名称由indexName和日期类型字段agentStarttime通过yyyy.MM.dd格式化后的值拼接而成,索引类型为type字段对应的值
@ESIndex(name="indexName-{field=agentStarttime,dateformat=yyyy.MM.dd}",type="{field=type}")
示例
@ESIndex(name="indexName",type="indexType")
public class MyEntiry {//设定文档标识字段@ESId(readSet = true,persistent = false)private Long demoId;...
}
ClientInterface
可以通过两种方法获得ClientInterface。都是单实例多线程安全的。(实际上,BBossESStarter 里边就是调用的ElasticSearchHelper的静态方法。。。)
SpringBoot环境:注入BBossESStarter 后获取
@Autowired
private BBossESStarter bbossESStarter;ClientInterface clientInterface = bbossESStarter.getRestClient();
//ClientInterface clientInterface = bbossESStarter.getConfigRestClient("esmapper/xxx.xml");
SpringBoot环境通过下边的方法获取也能用,但官方说要使用本处方法,但没有给出原因。经自己使用,SpringBoot环境下使用本方法的优点:
1.能输出向ES服务器发出的请求到控制台
非SpringBoot环境:ElasticSearchHelper静态方法
ClientInterface clientInterface = ElasticSearchHelper.getRestClientUtil();
//ClientInterface clientInterface = ElasticSearchHelper.getConfigRestClientUtil("esmapper/xxx.xml");
除了通过ESId和ESParentId这两个注解来指定文档id和parentid,ClientInterface接口中还提供了一组方法来提供docid和parentid两个参数来指定文档id和parentid。
ClientInterfaceNew
bboss-elasticsearch--API相关推荐
- SpringBoot如何整合BBoss Elasticsearch呢
大家一定很熟悉mybatis了,它是一个持久层框架,可以通过简单的XML或注解来配置,映射为数据库中的数据.我们通常是在xml文件中写sql,来操作数据库中的数据.而接下来要讲的bboss elast ...
- python连接es数据库_Python Elasticsearch API操作ES集群
环境Centos 7.4 Python 2.7 Pip 2.7 MySQL-python 1.2.5 Elasticsearc 6.3.1 Elasitcsearch6.3.2 知识点调用Python ...
- elasticsearch api中的Bulk API操作
在elasticsearch中bulk的概念,其实和sql中的group by有异曲同工的作用. The bulk API allows one to index and delete several ...
- elasticsearch api中的Multi Get API操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-multi-get.html Th ...
- elasticsearch api中的Delete By Query API操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-delete-by-query.h ...
- elasticsearch api中的delete操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-delete.html The d ...
- elasticsearch api中的get操作
官网:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html The ge ...
- ElasticSearch API文档查看
elastic官方API文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs.html
- elasticSearch API
1.7.API Elasticsearch提供了Rest风格的API,即http请求接口,而且也提供了各种语言的客户端API 2.操作索引 2.1.基本概念 Elasticsearch也是基于Luce ...
- Bboss Elasticsearch 简单用法(ES 7.*)
一.官方文档 https://esdoc.bbossgroups.com/#/README 二.官方demo https://github.com/bbossgroups/elasticsearch- ...
最新文章
- oracle查数据存入数组,如何在SQL查询中使用Oracle关联数组
- 算法全覆盖,还能玩星际争霸,开源决策智能平台OpenDILab面世
- boost::polygon模块实现多边形间隔相关的测试程序
- DBCC--CHECKIDENT
- .NET 中安全高效跨平台的模板引擎 Fluid 使用文档
- html5 轮询自动刷新数据,后台调用exe,前端定时轮询调用结果
- 用pycharm写python老是提示错误_python pycharm错误集锦
- Python运行环境与异常处理
- 你看,公司状告员工不加班,居然还告赢了
- bzoj1593 [Usaco2008 Feb]Hotel 旅馆(线段树)
- 基于python的数据管理系统的设计_基于Python的自然语言数据处理系统的设计与实现...
- 压倒eBay 挑战亚马逊 Shopify到底厉害在哪儿?
- css png有白背景图片,透明背景的PNG格式图片在IE显示白色背景的问题(在线等)...
- 从0开始的appium+Android+python自动抢红包世界生活
- 齐齐哈尔大学计算机专业好么,齐齐哈尔大学(专业学位)计算机技术考研难吗
- DWH的保留原始历史数据的一种方法
- Android 原生和 JS 交互实践
- 八分量基于区块链技术赋能我国工业互联网建设
- 最全的Linux运维bash脚本常见用法总结
- 简述因特网标准制定的几个阶段?
热门文章
- C语言学习周报(第四周)
- 职场神攻略:5分钟自我介绍法 快准狠!
- postgresql 计算时间差
- linux下mysql(rpm)安装使用手册
- java ppt 绘图,PPT图片别再直接插入,这样处理一下,让你的PPT秒变高逼格
- Laplacian eigenmap 拉普拉斯特征映射
- 硬盘活动分区(将磁盘分区标为活动或取消活动的方法)(转)
- 如何取消OPPOA33Android系统,OPPO A33系统降级教程_OPPO A33怎么回退到原来旧版本的系统...
- linux磁盘坏块 cp报错,Linux磁盘坏道的检测及修复
- 《OpenHarmony 3GPP协议开发深度剖析》之--搜网流程之PLMN选择