elasticsearch
code monkey
这个作者很懒,什么都没留下…
展开
-
java 调用 es restful api 使用 scroll 查询索引的全部数据
需求查询某个索引的全部数据,用于导出什么是 scroll 查询scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。游标查询允许我们 先做查询初始化,然后再批量地拉取结果。 这有点儿像传统数据库中的 cursor 。游标查询会取某个时间点的快照数据。 查询初始化之后索引上的任何变化会被它忽略。 它通过保存旧的数据文件来实现这个特性,结果就像保留初始化时的索引 视图 一样。深度分页的代价根源是结果集全局排序,如果去掉全局排序的特性的话原创 2020-09-01 10:56:24 · 899 阅读 · 0 评论 -
Java 使用 HttpClient 调用 es restful api 操作es
前言今天交付 ES 管理平台,因为 ES 有两套集群,分别是5.x 和 6.x 为了代码的通用性,需要把 Transport Client 的相关操作全部废弃,改为直接调用 rest api准备工作 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId>原创 2020-08-14 17:07:19 · 1554 阅读 · 0 评论 -
Java 同步 Date 类型数据到 ES (非时间戳)
1.对象的 date 类型 添加 JsonFormat 注解@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date addTime;2.使用 jackson 将 object 转为 json // 定义jackson对象private static final ObjectMapper MAPPER = new ObjectMapper();BulkRequestBuilder bulkRequest原创 2020-08-04 11:06:42 · 1958 阅读 · 0 评论 -
MyBatis流式查询并同步数据到ES
1.配置MyBatis(百度很多,省略)2.配置ES引入依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.0</version> <exclusions&g转载 2020-07-13 16:57:35 · 1156 阅读 · 0 评论 -
es java api 进行聚合+桶聚合查询 terms+top_hits+max
假设1个member有多个参加的meeting(会议),每个meeting可多次参加,每次参加对应一条参加时间和备注记录需求: 获取某个member的所有meeting的最新一条记录查询语句{ "query": { "term": { "memberid": "2136476" } }, "aggs": { "group": { "terms": { "field": "meetingid", "order":原创 2020-06-30 11:14:09 · 6193 阅读 · 7 评论