diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java index ec8a52e1a..3d6da572b 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java @@ -10,7 +10,9 @@ import com.tencent.supersonic.chat.api.component.SemanticParser; import com.tencent.supersonic.chat.api.component.SemanticQuery; import com.tencent.supersonic.chat.api.pojo.ChatContext; import com.tencent.supersonic.chat.api.pojo.QueryContext; +import com.tencent.supersonic.chat.api.pojo.SchemaElement; import com.tencent.supersonic.chat.api.pojo.SemanticParseInfo; +import com.tencent.supersonic.chat.api.pojo.SemanticSchema; import com.tencent.supersonic.chat.api.pojo.request.DimensionValueReq; import com.tencent.supersonic.chat.api.pojo.request.ExecuteQueryReq; import com.tencent.supersonic.chat.api.pojo.request.QueryDataReq; @@ -580,8 +582,12 @@ public class QueryServiceImpl implements QueryService { @Override public Object queryDimensionValue(DimensionValueReq dimensionValueReq, User user) throws Exception { QueryResultWithSchemaResp queryResultWithSchemaResp = new QueryResultWithSchemaResp(); + SemanticService semanticService = ContextUtils.getBean(SemanticService.class); + SemanticSchema semanticSchema = semanticService.getSemanticSchema(); + SchemaElement schemaElement = semanticSchema.getDimensions(dimensionValueReq.getElementID()); Set detectModelIds = new HashSet<>(); - detectModelIds.add(dimensionValueReq.getModelId()); + detectModelIds.add(schemaElement.getModel()); + dimensionValueReq.setModelId(schemaElement.getModel()); List dimensionValues = getDimensionValues(dimensionValueReq, detectModelIds); // if the search results is null,search dimensionValue from database if (CollectionUtils.isEmpty(dimensionValues)) {