if (StringUtils.isNotBlank('latestTsFrom') && StringUtils.isNotBlank('latestTsTo')) { Long latestTsFromLong = DateUtil.FetchTimestamp('latestTsFrom'); Long latestTsToLong = DateUtil.FetchTimestamp('latestTsTo'); RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(); switch (enumerate) { case 1: rangeQueryBuilder.field(DeviceCurrentAlarm.LATEST_TS).gte(latestTsFromLong).lte(latestTsToLong); boolQueryBuilder.filter(rangeQueryBuilder); break; case 2: rangeQueryBuilder.field(DeviceHistoryAlarm.CLEAR_TS).gte(latestTsFromLong).lte(latestTsToLong); boolQueryBuilder.filter(rangeQueryBuilder); break; case 3: BoolQueryBuilder innerBoolQueryBuilder = QueryBuilders.boolQuery(); innerBoolQueryBuilder.must(rangeQueryBuilder.field(DeviceScreenedAlarm.LATEST_TS).gte(DateUtil.muchTime()).lte(System.currentTimeMillis())); innerBoolQueryBuilder.must(rangeQueryBuilder.field(DeviceScreenedAlarm.LATEST_TS).gte(latestTsFromLong).lte(latestTsToLong)); boolQueryBuilder.must(innerBoolQueryBuilder); break; } }

Elasticsearch 范围查询优化:使用时间戳筛选数据

原文地址: https://www.cveoy.top/t/topic/oni2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录