diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java index 124143c8f..6833f7237 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java @@ -173,20 +173,22 @@ public class DictMetaHelper { .forEach(knowledgeInfo -> { SchemaElement dimensionDesc = dimIdAndDescPair.get(knowledgeInfo.getItemId()); - //default cnt - if (Objects.isNull(chatDefaultConfig) - || CollectionUtils.isEmpty(chatDefaultConfig.getMetrics())) { - Long dimId = dimensionDesc.getId(); - if (Objects.nonNull(dimId)) { - String datasourceBizName = queryDataSourceByDimId(dimId); - String internalMetricName = - datasourceBizName + UNDERLINE + internalMetricNameSuffix; - defaultMetricDescList.add(new DefaultMetric(internalMetricName, - internalMetricDays, DAY)); - } + Long dimId = dimensionDesc.getId(); + String internalMetricName = ""; + if (Objects.nonNull(dimId)) { + String datasourceBizName = queryDataSourceByDimId(dimId); + internalMetricName = datasourceBizName + UNDERLINE + internalMetricNameSuffix; + } + + if (Objects.isNull(chatDefaultConfig)) { + defaultMetricDescList.add(new DefaultMetric(internalMetricName, + internalMetricDays, DAY)); } else { - SchemaElement schemaItem = chatDefaultConfig.getMetrics().get(0); - defaultMetricDescList.add(new DefaultMetric(schemaItem.getBizName(), + String metric = internalMetricName; + if (!CollectionUtils.isEmpty(chatDefaultConfig.getMetrics())) { + metric = chatDefaultConfig.getMetrics().get(0).getBizName(); + } + defaultMetricDescList.add(new DefaultMetric(metric, chatDefaultConfig.getUnit(), chatDefaultConfig.getPeriod())); } diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java index a6744e5a8..33af60b3d 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java @@ -67,7 +67,7 @@ public class DictQueryHelper { defaultMetricDesc.getBizName(), dim4Dict); if (!CollectionUtils.isEmpty(data)) { int size = (data.size() > printDataShow) ? printDataShow : data.size(); - log.info("data:{}", data.subList(0, size - 1)); + log.info("data:{}", data.subList(0, size)); } else { log.warn("data is empty. nature:{}", nature); if (Objects.nonNull(queryResultWithColumns)) { @@ -178,6 +178,7 @@ public class DictQueryHelper { DateConf dateInfo = new DateConf(); dateInfo.setDateMode(DateConf.DateMode.RECENT); + log.debug("defaultMetric unit():{}", defaultMetricDesc.getUnit()); dateInfo.setUnit(defaultMetricDesc.getUnit()); queryStructCmd.setDateInfo(dateInfo); diff --git a/semantic/query/src/main/java/com/tencent/supersonic/semantic/query/utils/QueryStructUtils.java b/semantic/query/src/main/java/com/tencent/supersonic/semantic/query/utils/QueryStructUtils.java index d4fa9dd78..f2c350c68 100644 --- a/semantic/query/src/main/java/com/tencent/supersonic/semantic/query/utils/QueryStructUtils.java +++ b/semantic/query/src/main/java/com/tencent/supersonic/semantic/query/utils/QueryStructUtils.java @@ -137,6 +137,12 @@ public class QueryStructUtils { if (Objects.isNull(dateInfo) || Objects.isNull(dateInfo.getDateMode())) { return ""; } + if (dateInfo.getDateMode().equals(DateMode.RECENT)) { + if (dateInfo.getUnit() <= 0) { + return ""; + } + } + List dimensionIds = getDimensionIds(queryStructCmd); List metricIds = getMetricIds(queryStructCmd); @@ -177,7 +183,7 @@ public class QueryStructUtils { return whereClauseFromFilter; } else if (Strings.isNotEmpty(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) { return whereFromDate; - } else if (Strings.isEmpty(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) { + } else if (Objects.isNull(whereFromDate) && Strings.isEmpty(whereClauseFromFilter)) { log.info("the current date information is empty, enter the date initialization logic"); return dateModeUtils.defaultRecentDateInfo(queryStructCmd.getDateInfo()); }