es获取最大时间的记录_Java查询ES某个时间段或者范围的数据

这篇博客介绍了如何在Java应用中通过Spring Data Elasticsearch获取Elasticsearch中某个时间范围内的记录。首先,引入相关依赖并配置ES连接,然后创建对应的实体类、Dao接口和Service。在Service中,使用BoolQueryBuilder构造查询条件,根据时间字段筛选记录。
摘要由CSDN通过智能技术生成

1.引入SpringData相关Esjar包

附上pom文件:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.leyou.demo

elasticsearch

0.0.1-SNAPSHOT

jar

elasticsearch

Demo project for Spring Boot

org.springframework.boot

spring-boot-starter-parent

2.0.2.RELEASE

UTF-8

UTF-8

1.8

org.springframework.boot

spring-boot-starter-data-elasticsearch

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

2.编写application.yml文件(ES配置,xml同理)

spring:

data:

elasticsearch:

cluster-name: elasticsearch

cluster-nodes: 127.0.0.1:9300

3.创建与ES中所需数据对应的实体类(字段需对应,顺序应该无所谓不确定)

@Data

@Document(indexName = "这里是索引名称",type = "这里是文档名称")

public class Item {

@Id

private String Id;

private String name;

private Long time;

}

PS:

可以通过实体类创建索引

3b7d9348903e

4.创建Dao

@Component

public interface ESDao extends ElasticSearchRepository{}

5.Service

@Service

public class EService {

@AutoWired

private ESDao esd;

public void searchByTime(){

BoolQueryBuilder bb = boolQuery();

bb.must(rangeQuery(时间的字段名).gt(开始时间).lt(结束时间));

SearchQuery search = new NativeSearchQueryBuilder()

.withQuery(bb)

.withPageable(PageRequest.of(取数据的第几条开始,第几条结束)).build();

Page result = esd.search(search);

syso(result.getNumberOfElements())

}

}

办公机思路手打,仅供参考,尽信书不如无书!!!

办公机没办法截代码,附上原博客链接Java操作ES增删改查

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值