mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 04:57:28 +00:00
(improvement)(chat) struct query need to correct (#366)
This commit is contained in:
@@ -288,7 +288,7 @@ public class QueryServiceImpl implements QueryService {
|
|||||||
SemanticParseInfo parseInfo = getSemanticParseInfo(queryData, chatParseDO);
|
SemanticParseInfo parseInfo = getSemanticParseInfo(queryData, chatParseDO);
|
||||||
|
|
||||||
SemanticQuery semanticQuery = QueryManager.createQuery(parseInfo.getQueryMode());
|
SemanticQuery semanticQuery = QueryManager.createQuery(parseInfo.getQueryMode());
|
||||||
|
semanticQuery.setParseInfo(parseInfo);
|
||||||
if (S2SQLQuery.QUERY_MODE.equals(parseInfo.getQueryMode())) {
|
if (S2SQLQuery.QUERY_MODE.equals(parseInfo.getQueryMode())) {
|
||||||
Map<String, Map<String, String>> filedNameToValueMap = new HashMap<>();
|
Map<String, Map<String, String>> filedNameToValueMap = new HashMap<>();
|
||||||
Map<String, Map<String, String>> havingFiledNameToValueMap = new HashMap<>();
|
Map<String, Map<String, String>> havingFiledNameToValueMap = new HashMap<>();
|
||||||
@@ -325,21 +325,19 @@ public class QueryServiceImpl implements QueryService {
|
|||||||
if (StringUtils.isNotBlank(explainSql)) {
|
if (StringUtils.isNotBlank(explainSql)) {
|
||||||
parseInfo.getSqlInfo().setQuerySQL(explainSql);
|
parseInfo.getSqlInfo().setQuerySQL(explainSql);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
//init s2sql
|
||||||
|
semanticQuery.initS2Sql(user);
|
||||||
|
QueryReq queryReq = new QueryReq();
|
||||||
|
queryReq.setQueryFilters(new QueryFilters());
|
||||||
|
queryReq.setUser(user);
|
||||||
|
//correct s2sql
|
||||||
|
semanticCorrectors.stream().forEach(correction -> {
|
||||||
|
correction.correct(queryReq, semanticQuery.getParseInfo());
|
||||||
|
});
|
||||||
|
//update parserInfo
|
||||||
|
parseInfoService.updateParseInfo(semanticQuery.getParseInfo());
|
||||||
}
|
}
|
||||||
semanticQuery.setParseInfo(parseInfo);
|
|
||||||
//init s2sql
|
|
||||||
semanticQuery.initS2Sql(user);
|
|
||||||
QueryReq queryReq = new QueryReq();
|
|
||||||
queryReq.setQueryFilters(new QueryFilters());
|
|
||||||
queryReq.setUser(user);
|
|
||||||
|
|
||||||
//correct s2sql
|
|
||||||
semanticCorrectors.stream().forEach(correction -> {
|
|
||||||
correction.correct(queryReq, semanticQuery.getParseInfo());
|
|
||||||
});
|
|
||||||
//update parserInfo
|
|
||||||
parseInfoService.updateParseInfo(semanticQuery.getParseInfo());
|
|
||||||
|
|
||||||
QueryResult queryResult = semanticQuery.execute(user);
|
QueryResult queryResult = semanticQuery.execute(user);
|
||||||
queryResult.setChatContext(semanticQuery.getParseInfo());
|
queryResult.setChatContext(semanticQuery.getParseInfo());
|
||||||
SemanticService semanticService = ContextUtils.getBean(SemanticService.class);
|
SemanticService semanticService = ContextUtils.getBean(SemanticService.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user