From dd4904d060a8298795b1cd477881beda9d54afb9 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Thu, 18 Apr 2024 14:47:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E6=97=A5=E6=9C=9F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/config/lucene/Searcher.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java index 2e51775..6a9883e 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/Searcher.java @@ -3,6 +3,7 @@ package org.nl.config.lucene; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.apache.lucene.analysis.Analyzer; @@ -55,20 +56,16 @@ public class Searcher { TopDocs docs = null; BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder(); - //时间范围查询 - String startDate = whereJson.getString("begin_time"); - String endDate = whereJson.getString("end_time"); Calendar calendar = Calendar.getInstance(); calendar.set(1970, 0, 1); - if (startDate == null) { - startDate = DateUtil.format(calendar.getTime(), "yyyy-MM-dd HH:mm:ss.SSS"); - } else { - startDate = LuceneIndexWriter.getDate(startDate); - } - if (endDate == null) { - endDate = DateUtil.format(new DateTime(), "yyyy-MM-dd HH:mm:ss.SSS"); - } else { - endDate = LuceneIndexWriter.getDate(endDate); + //时间范围查询 + JSONArray createTime = whereJson.getJSONArray("createTime"); + String startDate = DateUtil.format(calendar.getTime(), "yyyy-MM-dd HH:mm:ss.SSS"); + String endDate = DateUtil.format(new DateTime(), "yyyy-MM-dd HH:mm:ss.SSS"); + + if (createTime != null) { + startDate = createTime.getString(0); + endDate = createTime.getString(1); } // 字段之间的与或非关系,MUST表示and,MUST_NOT表示not,SHOULD表示or,有几个fields就必须有几个clauses TermRangeQuery termRangeQuery = new TermRangeQuery("timestamp", new BytesRef(startDate),