diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 320382b..9d34092 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -254,6 +254,10 @@ } } + public void ranges(String filed, Serializable from, Serializable to) { + this.ranges(filed, from, to, MUST_FLAG); + } + public void range(String filed, Serializable from, Serializable to) { this.range(filed, from, to, MUST_FLAG); } @@ -286,6 +290,29 @@ /** * 范围条件是否必须 */ + public void ranges(String filed, Serializable from, Serializable to, String mustFlag) { + JSONObject rangeJson = new JSONObject(); + if (ObjectUtil.isNotEmpty(from)) { + rangeJson.put("gt", from); + } + if (ObjectUtil.isNotEmpty(to)) { + rangeJson.put("lte", to); + } + JSONObject filedJson = new JSONObject(); + filedJson.put(filed, rangeJson); + JSONObject range = new JSONObject(); + range.put("range", filedJson); + if (MUST_FLAG.equals(mustFlag)) { + this.filterBoolMust.add(range); + } + if (MUST_NOT_FLAG.equals(mustFlag)) { + this.filterBoolMustnot.add(range); + } + } + + /** + * 范围条件是否必须 + */ public void range(String filed, Serializable from, Serializable to, String mustFlag) { JSONObject rangeJson = new JSONObject(); if (ObjectUtil.isNotEmpty(from)) { diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 320382b..9d34092 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -254,6 +254,10 @@ } } + public void ranges(String filed, Serializable from, Serializable to) { + this.ranges(filed, from, to, MUST_FLAG); + } + public void range(String filed, Serializable from, Serializable to) { this.range(filed, from, to, MUST_FLAG); } @@ -286,6 +290,29 @@ /** * 范围条件是否必须 */ + public void ranges(String filed, Serializable from, Serializable to, String mustFlag) { + JSONObject rangeJson = new JSONObject(); + if (ObjectUtil.isNotEmpty(from)) { + rangeJson.put("gt", from); + } + if (ObjectUtil.isNotEmpty(to)) { + rangeJson.put("lte", to); + } + JSONObject filedJson = new JSONObject(); + filedJson.put(filed, rangeJson); + JSONObject range = new JSONObject(); + range.put("range", filedJson); + if (MUST_FLAG.equals(mustFlag)) { + this.filterBoolMust.add(range); + } + if (MUST_NOT_FLAG.equals(mustFlag)) { + this.filterBoolMustnot.add(range); + } + } + + /** + * 范围条件是否必须 + */ public void range(String filed, Serializable from, Serializable to, String mustFlag) { JSONObject rangeJson = new JSONObject(); if (ObjectUtil.isNotEmpty(from)) { diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchUtil.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchUtil.java index 182e798..638a712 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchUtil.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchUtil.java @@ -170,7 +170,7 @@ return page; } query.removeRange(); - query.range("logTime", startTime, (String) jsonObject.get("time")); + query.ranges("logTime", startTime, (String) jsonObject.get("time")); query.from(Integer.valueOf(String.valueOf(jsonObject.get("from")))); response = performRequest(method, entPoint, query.getBody().toString()); result = JSONObject.parseObject(EntityUtils.toString(response.getEntity())); @@ -219,7 +219,7 @@ private static EsResponse mergerQueryTime(String beginTime, String endTime, ElasticSearchQuery query, String entPoint) throws Exception { String method = "POST"; query.removeRange(); - query.range("logTime", beginTime, endTime); + query.ranges("logTime", beginTime, endTime); logger.debug(query.getBody().toString()); Response response = performRequest(method, entPoint, query.getBody().toString()); // 获取response body,转换为json对象 @@ -231,7 +231,7 @@ private static Integer mergerQuery(String beginTime, String endTime, ElasticSearchQuery query, String entPoint) throws Exception { String method = "POST"; query.removeRange(); - query.range("logTime", beginTime, endTime); + query.ranges("logTime", beginTime, endTime); Response response = performRequest(method, entPoint, query.getBody().toString()); // 获取response body,转换为json对象 JSONObject result = JSONObject.parseObject(EntityUtils.toString(response.getEntity()));