From a862a8327237120a341e21407582845b73e32e89 Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Fri, 1 Dec 2023 11:27:07 +0800 Subject: [PATCH] (improvement)(chat) SemanticParseInfo removes elements whose model is empty (#459) * (improvement)(chat) Update spi in test profile * (improvement)(chat) SemanticParseInfo removes elements whose model is empty * (improvement)(chat) MetricCheckProcessor compatible time dimension chName --------- Co-authored-by: jolunoluo --- .../supersonic/chat/api/pojo/SemanticParseInfo.java | 9 +++++---- .../supersonic/chat/processor/MetricCheckProcessor.java | 6 ++++-- .../chat/src/main/resources/META-INF/spring.factories | 1 - .../src/test/resources/META-INF/spring.factories | 1 - 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/SemanticParseInfo.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/SemanticParseInfo.java index f5fcf046c..1ff9501f9 100644 --- a/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/SemanticParseInfo.java +++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/pojo/SemanticParseInfo.java @@ -88,10 +88,11 @@ public class SemanticParseInfo { private Map getModelElementCountMap() { Map elementCountMap = new HashMap<>(); - elementMatches.forEach(element -> { - int count = elementCountMap.getOrDefault(element.getElement().getModel(), 0); - elementCountMap.put(element.getElement().getModel(), count + 1); - }); + elementMatches.stream().filter(element -> element.getElement().getModel() != null) + .forEach(element -> { + int count = elementCountMap.getOrDefault(element.getElement().getModel(), 0); + elementCountMap.put(element.getElement().getModel(), count + 1); + }); return elementCountMap; } diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/MetricCheckProcessor.java b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/MetricCheckProcessor.java index 29dacb629..1fdc0595a 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/MetricCheckProcessor.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/MetricCheckProcessor.java @@ -79,7 +79,8 @@ public class MetricCheckProcessor implements ParseResultProcessor { } } for (String dimensionName : whereFields) { - if (TimeDimensionEnum.getNameList().contains(dimensionName)) { + if (TimeDimensionEnum.getNameList().contains(dimensionName) + || TimeDimensionEnum.getChNameList().contains(dimensionName)) { continue; } if (!checkInModelSchema(dimensionName, SchemaElementType.DIMENSION, semanticSchema)) { @@ -90,7 +91,8 @@ public class MetricCheckProcessor implements ParseResultProcessor { } } for (String dimensionName : groupByFields) { - if (TimeDimensionEnum.getNameList().contains(dimensionName)) { + if (TimeDimensionEnum.getNameList().contains(dimensionName) + || TimeDimensionEnum.getChNameList().contains(dimensionName)) { continue; } if (!checkInModelSchema(dimensionName, SchemaElementType.DIMENSION, semanticSchema)) { diff --git a/launchers/chat/src/main/resources/META-INF/spring.factories b/launchers/chat/src/main/resources/META-INF/spring.factories index 00514558b..8adcde6ab 100644 --- a/launchers/chat/src/main/resources/META-INF/spring.factories +++ b/launchers/chat/src/main/resources/META-INF/spring.factories @@ -44,5 +44,4 @@ com.tencent.supersonic.chat.postprocessor.PostProcessor=\ com.tencent.supersonic.chat.postprocessor.RespBuildPostProcessor com.tencent.supersonic.chat.query.QueryResponder=\ - com.tencent.supersonic.chat.query.EntityInfoQueryResponder, \ com.tencent.supersonic.chat.query.SimilarMetricQueryResponder \ No newline at end of file diff --git a/launchers/standalone/src/test/resources/META-INF/spring.factories b/launchers/standalone/src/test/resources/META-INF/spring.factories index 01bcc8a05..876c29e33 100644 --- a/launchers/standalone/src/test/resources/META-INF/spring.factories +++ b/launchers/standalone/src/test/resources/META-INF/spring.factories @@ -43,5 +43,4 @@ com.tencent.supersonic.chat.postprocessor.PostProcessor=\ com.tencent.supersonic.chat.query.QueryResponder=\ - com.tencent.supersonic.chat.query.EntityInfoQueryResponder, \ com.tencent.supersonic.chat.query.SimilarMetricQueryResponder \ No newline at end of file