
Elasticsearch
Elasticsearch
Gzzz__
这个作者很懒,什么都没留下…
展开
-
ElasticSearch多数据源配置,连接多个ES集群
项目中使用后Transport Client连接ES,Transport Client是Elasticsearch原生的api,TransportClient可以支持2.x,5.x版本,TransportClient将会在Elasticsearch 7.0弃用并在8.0中完成删除,因此高版本不推荐此方式。开发时遇到需要连接多个ES的需求,类似于连接多个MySQL数据库一样。使用 Spring 注入Bean形式来获取多个bean实例,代码如下。使用时,直接注入多个bean实例进行查询即可。原创 2023-02-21 16:52:32 · 2694 阅读 · 0 评论 -
Elasticsearch script脚本计算及统计
项目场景:Elasticsearch使用scriptj脚本计算和统计,通过DSL和java API两种方式解决方案:一、DSL方式 :1、计算结束时间减去开始时间时间差{ "script" : { "source": "(doc['completeTime'].value.toInstant().toEpochMilli() - doc['createTime'].value.toInstant().toEpochMilli())" }2、统计大于2原创 2022-05-21 20:45:23 · 1457 阅读 · 0 评论 -
Elasticsearch分组后,用script计算时间差并根据时间差排序
项目场景:Elasticsearch分组后,根据开始时间和结束事件计算出两字段时间差排序,通过DSL和java API两种方式解决方案:示例:在单据表中,查询2022-01-19至2022-01-20每个人提交的单据数量,及每个人单据审批时间,并根据审批时长从高到低排序。1、DSL方式 :GET /userbill/_search{ "from":0, "size":0, "query":{ "bool":{ ...原创 2022-05-21 17:31:12 · 1628 阅读 · 0 评论 -
Elasticsearch模糊查询、多字段in查询、时间范围查询,DSL和java API两种方式
项目场景:Elasticsearch模糊查询某字段,通过DSL和java API两种方式解决方案:wildcard 通配符检索使用wildcard相当于SQL的like,前后都可拼接*,匹配0到多个任意字符{ "query": { "wildcard": { "name.keyword": "*文件*" } }}BoolQueryBuilder queryBuilder = QueryBuilde.原创 2022-03-23 18:00:06 · 8062 阅读 · 1 评论 -
Elasticsearch分组后排序,并查询组数量
Elasticsearch分组后,根据分组后的数量排序,并查询分组后的组数量,通过DSL和java API两种方式原创 2022-02-18 17:13:34 · 7138 阅读 · 1 评论