mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-24 10:27:28 +08:00
(improvement)(chat) Rules and large model queries should be queried using s2sql (#334)
This commit is contained in:
@@ -24,6 +24,7 @@ import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.query.service.QueryService;
|
||||
import com.tencent.supersonic.semantic.query.service.SchemaService;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -40,12 +41,13 @@ public class LocalSemanticInterpreter extends BaseSemanticInterpreter {
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public QueryResultWithSchemaResp queryByStruct(QueryStructReq queryStructReq, User user) {
|
||||
QueryS2QLReq queryS2QLReq = queryStructReq.convert(queryStructReq);
|
||||
if (queryStructReq.isUseS2qlSwitch() && StringUtils.isNotBlank(queryS2QLReq.getSql())) {
|
||||
log.info("queryStructReq convert to sql:{},queryStructReq:{}", queryS2QLReq.getSql(), queryStructReq);
|
||||
if (StringUtils.isNotBlank(queryStructReq.getLogicSql())) {
|
||||
QueryS2QLReq queryS2QLReq = new QueryS2QLReq();
|
||||
queryS2QLReq.setSql(queryStructReq.getLogicSql());
|
||||
queryS2QLReq.setModelId(queryStructReq.getModelId());
|
||||
queryS2QLReq.setVariables(new HashMap<>());
|
||||
return queryByS2QL(queryS2QLReq, user);
|
||||
}
|
||||
|
||||
queryService = ContextUtils.getBean(QueryService.class);
|
||||
return queryService.queryByStructWithAuth(queryStructReq, user);
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
|
||||
import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
|
||||
import java.net.URI;
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -69,9 +70,11 @@ public class RemoteSemanticInterpreter extends BaseSemanticInterpreter {
|
||||
|
||||
@Override
|
||||
public QueryResultWithSchemaResp queryByStruct(QueryStructReq queryStructReq, User user) {
|
||||
QueryS2QLReq queryS2QLReq = queryStructReq.convert(queryStructReq);
|
||||
if (queryStructReq.isUseS2qlSwitch() && StringUtils.isNotBlank(queryS2QLReq.getSql())) {
|
||||
log.info("queryStructReq convert to sql:{},queryStructReq:{}", queryS2QLReq.getSql(), queryStructReq);
|
||||
if (StringUtils.isNotBlank(queryStructReq.getLogicSql())) {
|
||||
QueryS2QLReq queryS2QLReq = new QueryS2QLReq();
|
||||
queryS2QLReq.setSql(queryStructReq.getLogicSql());
|
||||
queryS2QLReq.setModelId(queryStructReq.getModelId());
|
||||
queryS2QLReq.setVariables(new HashMap<>());
|
||||
return queryByS2QL(queryS2QLReq, user);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user