添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Java 范围查询(时间范围查询示例)

RangeQueryBuilder 构建 范围查询条件
可以使用 RangeQueryBuilder 作为时间范围查询。
示例如下:

public class EsRange{
    public void RangeSearch(TransportClient client){
        //时间范围的设定
        RangeQueryBuilder rangequerybuilder = QueryBuilders
                    .rangeQuery("inputtime")
                    .from("2016-7-21 00:00:01").to("2016-7-21 00:00:03");
        //生成DSL查询语句
        SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
        sourceBuilder.query(rangequerybuilder);
        //System.out.println(sourceBuilder.toString());
        //查询建立
        SearchRequestBuilder responsebuilder = client
                                .prepareSearch("pointdata")
                                .setTypes("pointdata");
        SearchResponse myresponse=responsebuilder
                    .setQuery(QueryBuilders.boolQuery() 
                    .must(QueryBuilders.matchPhraseQuery //must表示and                    
                        ("pointid","W3.UNIT1.10LBG01CP301")
                    .must(rangequerybuilder))
                    .setFrom(0).setSize(50) //分页
                    .setExplain(true)
                    .execute()
                    .actionGet();
        SearchHits hits = myresponse.getHits();
        for(int i = 0; i < hits.getHits().length; i++) {
            System.out.println(hits.getHits()[i].getSourceAsString());
                    java时间范围查询public class EsRange{    public void RangeSearch(TransportClient client){        //时间范围的设定        RangeQueryBuilder rangequerybuilder = QueryBuilders                    .rangeQuery(&quot;input
private SearchResponse getApiResponseByDetail(SearchRequestBuilder responseBuilder,String condition) {
        String time1 = "2020-01-02T00:00:00.000Z";
        String ...
 灵活且易于使用的“通用文档”类,如果无法进行反序列化,则可以使用更方便的类。
 简化了从JSON到内部类的转换,以简化与前端的通信。
 这个项目是我不久前为客户制作的一个简化版本:我们需要一个易于配置,理解和使用的ES7 API的内部版本。 我决定(至少暂时地)删除其所有专门的搜索/方法/汇总并发布,以供将来我和需要代码或示例的任何人使用
ElasticSearch使用教程:Java 查询入门前言ES 查询语句基础查询对应关系注意事项查询实战 ElasticSearch是一种十分常用的搜索引擎,因此在Java开发中难免会用到ES去进行查询,本文的es和RestHighLevelClient版本均为7.4.0。 ES 查询语句 基础查询 在ES中进行查询最基础的语句如下所示: GET indexName/_search "query": { "match_all": {} 上面句子中的indexName指的是
//闭区间查询 QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}).to(${fieldValue2}); //开区间查询 QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}, false).to(${fieldValue2}, false); Quer.
使用restHighLevelClient进行日期时间查询的时候,发现返回结果不对,好像把查询条件前8小时的数据查出来了。原来是时区不对。因为es默认时区是UTC,所以在查询时间要把日期时间类型转成UTC格式进行查询。 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); boolQueryBuilder.must(QueryBuilders.rangeQuery("commentTime").gte(f
一般情况下,把java.util.Date存储到 Elasticsearch ,然后从 Elasticsearch  中再取出来的时候,要想保证它是个Date ,需要做额外任何转换。本文介绍如何在ElasticSearch中进行时间范围查询操作。 public class EsMulConditionQuery { private static String index = "test_in
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery(); queryBuilder.should(QueryBuilders.matchQuery("appNameText", keyword)); queryBuilder.should(QueryBuilders.matchQuery("app...
文章目录1. 需求分析2. 时间区间枚举类TimeScopeEnum3. 前端请求Qo类4. 时间处理的工具类5. 执行查询 1. 需求分析 项目需求:根据时间区间查询elasticsearch中的数据 查询最近7天的数据,前端请求路径: https://10.87.67.226/chahua/api/v1/list?endTime=1651288728694&startTime=1650683928694&timeScope=last7d 查询最近30天的数据,前端请求路径: endTim
springBoot集成elasticsearch(功能篇) 二 基础上了解了elasticsearch的基本操作。但是我们在查询的时候会遇到一些比较困难的情况。当数据量超过10000的时候就会出现错误。所以,如果使用之前的查询是不行的。所以需要使用游标查询。 一:在kibana中的查询如下: 1:先查询一下: GET /索引/_search?scroll=10m "sort" :...