mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-15 14:36:47 +00:00
[improvement][project] supersonic 0.7.0 version backend update (#20)
Co-authored-by: kanedai <kanedai@tencent.com>
This commit is contained in:
@@ -1,21 +0,0 @@
|
||||
package com.tencent.supersonic.chat.application.mapper;
|
||||
|
||||
import com.tencent.supersonic.chat.api.request.QueryContextReq;
|
||||
import com.tencent.supersonic.chat.test.context.ContextTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* HanlpSchemaMapperTest
|
||||
*/
|
||||
class HanlpSchemaMapperTest extends ContextTest {
|
||||
|
||||
@Test
|
||||
void map() {
|
||||
QueryContextReq queryContext = new QueryContextReq();
|
||||
queryContext.setChatId(1);
|
||||
queryContext.setDomainId(2);
|
||||
queryContext.setQueryText("supersonic按部门访问次数");
|
||||
HanlpSchemaMapper hanlpSchemaMapper = new HanlpSchemaMapper();
|
||||
hanlpSchemaMapper.map(queryContext);
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,21 @@
|
||||
package com.tencent.supersonic.chat.application.parser;
|
||||
|
||||
import com.tencent.supersonic.chat.api.pojo.ChatContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.QueryContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.SchemaMapInfo;
|
||||
import com.tencent.supersonic.chat.api.request.QueryContextReq;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryRequest;
|
||||
import com.tencent.supersonic.chat.parser.rule.TimeRangeParser;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
||||
class TimeSemanticParserTest {
|
||||
class TimeRangeParserTest {
|
||||
|
||||
// private HeuristicQuerySelector voteStrategy = new HeuristicQuerySelector() {
|
||||
// @Override
|
||||
// public void init(List<SemanticParser> semanticParsers) {
|
||||
// List<String> queryMode = new ArrayList<>(Arrays.asList(EntityDetail.QUERY_MODE));
|
||||
// List<String> queryMode = new ArrayList<>(Arrays.asList(EntityDetailQuery.QUERY_MODE));
|
||||
// for(SemanticParser semanticParser : semanticParsers) {
|
||||
// if(semanticParser.getName().equals(TimeSemanticParser.PARSER_MODE)) {
|
||||
// if(semanticParser.getName().equals(TimeRangeParser.PARSER_MODE)) {
|
||||
// semanticParser.getQueryModes().clear();
|
||||
// semanticParser.getQueryModes().addAll(queryMode);
|
||||
// }
|
||||
@@ -23,17 +25,17 @@ class TimeSemanticParserTest {
|
||||
|
||||
@Test
|
||||
void parse() {
|
||||
TimeSemanticParser timeSemanticParser = new TimeSemanticParser();
|
||||
TimeRangeParser timeRangeParser = new TimeRangeParser();
|
||||
|
||||
QueryContextReq queryContext = new QueryContextReq();
|
||||
QueryRequest queryRequest = new QueryRequest();
|
||||
ChatContext chatCtx = new ChatContext();
|
||||
SchemaMapInfo schemaMap = new SchemaMapInfo();
|
||||
|
||||
queryContext.setQueryText("supersonic最近30天访问次数");
|
||||
//voteStrategy.init(new ArrayList<>(Arrays.asList(timeSemanticParser)));
|
||||
timeSemanticParser.parse(queryContext, chatCtx);
|
||||
queryRequest.setQueryText("supersonic最近30天访问次数");
|
||||
//voteStrategy.init(new ArrayList<>(Arrays.asList(timeRangeParser)));
|
||||
timeRangeParser.parse(new QueryContext(queryRequest), chatCtx);
|
||||
|
||||
//DateConf dateInfo = queryContext.getParseInfo(timeSemanticParser.getQueryModes().get(0))
|
||||
//DateConf dateInfo = queryContext.getParseInfo(timeRangeParser.getQueryModes().get(0))
|
||||
// .getDateInfo();
|
||||
|
||||
//System.out.println(dateInfo);
|
||||
@@ -2,15 +2,15 @@ package com.tencent.supersonic.chat.application.parser.aggregate;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import com.tencent.supersonic.chat.application.parser.AggregateSemanticParser;
|
||||
import com.tencent.supersonic.common.enums.AggregateTypeEnum;
|
||||
import com.tencent.supersonic.chat.parser.rule.AggregateTypeParser;
|
||||
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class AggregateSemanticParserTest {
|
||||
class AggregateTypeParserTest {
|
||||
|
||||
@Test
|
||||
void getAggregateParser() {
|
||||
AggregateSemanticParser aggregateParser = new AggregateSemanticParser();
|
||||
AggregateTypeParser aggregateParser = new AggregateTypeParser();
|
||||
AggregateTypeEnum aggregateType = aggregateParser.resolveAggregateType("supsersonic产品访问次数最大值");
|
||||
assertEquals(aggregateType, AggregateTypeEnum.MAX);
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.tencent.supersonic.chat.mapper;
|
||||
|
||||
import com.tencent.supersonic.chat.api.pojo.QueryContext;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryRequest;
|
||||
import com.tencent.supersonic.chat.test.context.ContextTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* HanlpDictMapperTest
|
||||
*/
|
||||
class HanlpDictMapperTest extends ContextTest {
|
||||
|
||||
@Test
|
||||
void map() {
|
||||
QueryRequest queryRequest = new QueryRequest();
|
||||
queryRequest.setChatId(1);
|
||||
queryRequest.setDomainId(2L);
|
||||
queryRequest.setQueryText("supersonic按部门访问次数");
|
||||
HanlpDictMapper hanlpDictMapper = new HanlpDictMapper();
|
||||
hanlpDictMapper.map(new QueryContext(queryRequest));
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.tencent.supersonic.chat.application.mapper.match;
|
||||
package com.tencent.supersonic.chat.mapper.match;
|
||||
|
||||
import com.tencent.supersonic.chat.test.context.ContextTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.tencent.supersonic.chat.test.context;
|
||||
|
||||
import com.tencent.supersonic.chat.domain.utils.ComponentFactory;
|
||||
import com.tencent.supersonic.chat.infrastructure.mapper.ChatContextMapper;
|
||||
import com.tencent.supersonic.chat.infrastructure.repository.ChatContextRepositoryImpl;
|
||||
import com.tencent.supersonic.chat.infrastructure.semantic.RemoteSemanticLayerImpl;
|
||||
import com.tencent.supersonic.chat.persistence.repository.impl.ChatContextRepositoryImpl;
|
||||
import com.tencent.supersonic.chat.utils.ComponentFactory;
|
||||
import com.tencent.supersonic.chat.persistence.mapper.ChatContextMapper;
|
||||
import com.tencent.supersonic.knowledge.semantic.RemoteSemanticLayer;
|
||||
import com.tencent.supersonic.chat.test.ChatBizLauncher;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.query.domain.QueryService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import com.tencent.supersonic.semantic.query.service.QueryService;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
@@ -25,7 +24,7 @@ import org.springframework.web.client.RestTemplate;
|
||||
@MockBean(DomainService.class)
|
||||
@MockBean(ChatContextMapper.class)
|
||||
@MockBean(RestTemplate.class)
|
||||
@MockBean(RemoteSemanticLayerImpl.class)
|
||||
@MockBean(RemoteSemanticLayer.class)
|
||||
@MockBean(ComponentFactory.class)
|
||||
//@MybatisTest
|
||||
//@AutoConfigureMybatis
|
||||
|
||||
@@ -6,28 +6,21 @@ import static org.mockito.Mockito.when;
|
||||
|
||||
import com.tencent.supersonic.chat.api.pojo.ChatContext;
|
||||
import com.tencent.supersonic.chat.api.component.SemanticLayer;
|
||||
import com.tencent.supersonic.chat.domain.service.QueryService;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.api.core.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.chat.application.ConfigServiceImpl;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.ChatConfigResp;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.ChatConfigRichResp;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.DefaultMetric;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.DefaultMetricInfo;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.EntityInternalDetail;
|
||||
import com.tencent.supersonic.chat.domain.pojo.config.EntityRichInfo;
|
||||
import com.tencent.supersonic.chat.domain.pojo.chat.DomainInfos;
|
||||
import com.tencent.supersonic.chat.domain.service.ChatService;
|
||||
import com.tencent.supersonic.chat.domain.utils.SchemaInfoConverter;
|
||||
import com.tencent.supersonic.chat.infrastructure.mapper.ChatContextMapper;
|
||||
import com.tencent.supersonic.chat.infrastructure.repository.ChatContextRepositoryImpl;
|
||||
import com.tencent.supersonic.common.constant.Constants;
|
||||
import com.tencent.supersonic.semantic.core.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.core.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.core.domain.MetricService;
|
||||
import com.tencent.supersonic.chat.config.*;
|
||||
import com.tencent.supersonic.chat.persistence.repository.impl.ChatContextRepositoryImpl;
|
||||
import com.tencent.supersonic.chat.service.QueryService;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.DomainSchemaResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricResp;
|
||||
import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
|
||||
import com.tencent.supersonic.chat.service.impl.ConfigServiceImpl;
|
||||
import com.tencent.supersonic.chat.service.ChatService;
|
||||
import com.tencent.supersonic.chat.persistence.mapper.ChatContextMapper;
|
||||
import com.tencent.supersonic.common.pojo.Constants;
|
||||
import com.tencent.supersonic.semantic.model.domain.DimensionService;
|
||||
import com.tencent.supersonic.semantic.model.domain.DomainService;
|
||||
import com.tencent.supersonic.semantic.model.domain.MetricService;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -47,7 +40,7 @@ public class MockBeansConfiguration {
|
||||
|
||||
public static void buildHttpSemanticServiceImpl(SemanticLayer httpSemanticLayer, List<DimSchemaResp> dimensionDescs,
|
||||
List<MetricSchemaResp> metricDescs) {
|
||||
ChatConfigRichResp chaConfigRichDesc = new ChatConfigRichResp();
|
||||
ChatConfigRich chaConfigRichDesc = new ChatConfigRich();
|
||||
DefaultMetric defaultMetricDesc = new DefaultMetric();
|
||||
defaultMetricDesc.setUnit(3);
|
||||
defaultMetricDesc.setPeriod(Constants.DAY);
|
||||
@@ -79,10 +72,6 @@ public class MockBeansConfiguration {
|
||||
domainSchemaDesc.setDimensions(dimensionDescs);
|
||||
domainSchemaDesc.setMetrics(metricDescs);
|
||||
// when(httpSemanticLayer.getDomainSchemaInfo(anyLong())).thenReturn(domainSchemaDesc);
|
||||
|
||||
DomainInfos domainInfos = new DomainInfos();
|
||||
when(SchemaInfoConverter.convert(httpSemanticLayer.getDomainSchemaInfo(anyList()))).thenReturn(domainInfos);
|
||||
|
||||
}
|
||||
|
||||
public static void getDomainExtendMock(ConfigServiceImpl configService) {
|
||||
@@ -125,10 +114,6 @@ public class MockBeansConfiguration {
|
||||
public ChatContextRepositoryImpl getChatContextRepository() {
|
||||
return Mockito.mock(ChatContextRepositoryImpl.class);
|
||||
}
|
||||
// @Bean
|
||||
// public SemanticLayer getSemanticService() {
|
||||
// return Mockito.mock(HttpSemanticServiceImpl.class);
|
||||
// }
|
||||
|
||||
@Bean
|
||||
public QueryService getQueryService() {
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
package com.tencent.supersonic.chat.test.context;
|
||||
|
||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||
import com.tencent.supersonic.chat.api.component.SemanticLayer;
|
||||
import com.tencent.supersonic.chat.api.pojo.ChatContext;
|
||||
import com.tencent.supersonic.chat.api.request.QueryContextReq;
|
||||
import com.tencent.supersonic.chat.application.mapper.HanlpSchemaMapper;
|
||||
import com.tencent.supersonic.chat.application.mapper.QueryMatchStrategy;
|
||||
import com.tencent.supersonic.chat.application.parser.DomainSemanticParser;
|
||||
import com.tencent.supersonic.chat.domain.service.ChatService;
|
||||
import com.tencent.supersonic.chat.test.ChatBizLauncher;
|
||||
import com.tencent.supersonic.knowledge.infrastructure.nlp.Suggester;
|
||||
import com.tencent.supersonic.semantic.api.core.response.DomainSchemaResp;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.boot.test.context.TestConfiguration;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ChatBizLauncher.class)
|
||||
public class QueryServiceImplTest {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(QueryServiceImplTest.class);
|
||||
|
||||
// @MockBean
|
||||
// private QueryService queryService;
|
||||
|
||||
//private SemanticLayer semanticLayer = mock(SemanticLayer.class);
|
||||
|
||||
// @MockBean
|
||||
// private DefaultSemanticLayerImpl semanticLayer;
|
||||
//SemanticLayer
|
||||
@Autowired
|
||||
public QueryMatchStrategy queryMatchStrategy;
|
||||
@Autowired(required = false)
|
||||
public Suggester suggester;
|
||||
@MockBean
|
||||
private SemanticLayer semanticLayer;//= ComponentFactory.getSemanticLayer();
|
||||
|
||||
// @Before
|
||||
// public void setUp() {
|
||||
// //List<DomainSchemaResp> getDomainSchemaInfo(List<Long> ids)
|
||||
// List<DomainSchemaResp> domainSchemaRespList=MockUtils.getChatContext();
|
||||
// Mockito.when(semanticLayer.getDomainSchemaInfo(Mockito.anyList())).thenReturn(domainSchemaRespList);
|
||||
// }
|
||||
@MockBean
|
||||
private DomainSemanticParser domainSemanticParser;
|
||||
@MockBean
|
||||
private HanlpSchemaMapper hanlpSchemaMapper;
|
||||
@MockBean
|
||||
private ChatService chatService;
|
||||
|
||||
//// @Autowired(required = false)
|
||||
//// private ChatService chatService;
|
||||
|
||||
//private SemanticLayer semanticLayer ;
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
QueryContextReq queryContextReq = getQueryContextReq("超音数访问次数");
|
||||
//hanlpSchemaMapper.map(queryContextReq);
|
||||
// List<Term> terms = HanlpHelper.getSegment().seg(queryContextReq.getQueryText().toLowerCase()).stream()
|
||||
// .collect(Collectors.toList());
|
||||
// LOGGER.info("terms::::{}",terms);
|
||||
// MockUtils.putSuggester();
|
||||
// List<MapResult> matches = queryMatchStrategy.match(queryContextReq.getQueryText(), terms, queryContextReq.getDomainId());
|
||||
// HanlpHelper.transLetterOriginal(matches);
|
||||
// HanlpSchemaMapperHelper.convertTermsToSchemaMapInfo(matches, queryContextReq.getMapInfo());
|
||||
HanlpSchemaMapper hanlpSchemaMapper = new HanlpSchemaMapper();
|
||||
hanlpSchemaMapper.map(queryContextReq);
|
||||
//QueryContextReq queryContextReq=MockUtils.getQueryContextReq("METRIC_FILTER");
|
||||
LOGGER.info("QueryContextReq::::{}", queryContextReq.getMapInfo().getMatchedDomains());
|
||||
LOGGER.info("QueryContextReq::::{}", queryContextReq.getMapInfo().getDomainElementMatches());
|
||||
LOGGER.info("QueryContextReq::::{}", queryContextReq);
|
||||
|
||||
// //chatService=new ChatServiceImpl();
|
||||
// ChatContext chatCtx = chatService.getOrCreateContext(queryContextReq.getChatId());
|
||||
// if (chatCtx == null) {
|
||||
// chatCtx=new ChatContext();
|
||||
// chatCtx.setChatId(queryContextReq.getChatId());
|
||||
// }
|
||||
// LOGGER.info("chatService::::{}",chatService);
|
||||
// LOGGER.info("ChatContext::::{}",chatCtx);
|
||||
ChatContext chatCtx = new ChatContext();//MockUtils.getChatContext1();
|
||||
//semanticLayer = ComponentFactory.getSemanticLayer();
|
||||
// DomainSemanticParser domainSemanticParser=new DomainSemanticParser();
|
||||
// domainSemanticParser.parse(queryContextReq,chatCtx);
|
||||
|
||||
//DomainSemanticParser
|
||||
|
||||
//domainSemanticParser=new DomainSemanticParser();
|
||||
LOGGER.info("domainSemanticParser::::{}", domainSemanticParser);
|
||||
//SemanticLayer semanticLayer= mock(SemanticLayer.class);
|
||||
//List<DomainSchemaResp> domainSchemaRespList=MockUtils.getChatContext();
|
||||
|
||||
// //SemanticLayer semanticLayer = mock(SemanticLayer.class);
|
||||
// when(semanticLayer.getDomainSchemaInfo(Mockito.anyList())).thenReturn(domainSchemaRespList);
|
||||
// domainSemanticParser.parse(queryContextReq,chatCtx);
|
||||
// LOGGER.info("QueryContextReq::::{}",queryContextReq);
|
||||
// TimeSemanticParser timeSemanticParser=new TimeSemanticParser();
|
||||
// timeSemanticParser.parse(queryContextReq,chatCtx);
|
||||
// AggregateSemanticParser aggregateSemanticParser=new AggregateSemanticParser();
|
||||
// aggregateSemanticParser.parse(queryContextReq,chatCtx);
|
||||
// //PickStrategy pickStrategy = ComponentFactory.getPickStrategy();
|
||||
// LOGGER.info("pickStrategy::::{}",pickStrategy);
|
||||
// pickStrategy=new ScoreBasedPickStrategy();
|
||||
// SemanticParseInfo semanticParse = pickStrategy.pick(queryContextReq, chatCtx);
|
||||
// LOGGER.info("semanticParse::::{}",semanticParse);
|
||||
//SemanticQueryExecutorHelper semanticQueryExecutorHelper=new SemanticQueryExecutorHelper();
|
||||
//semanticQueryExecutorHelper.execute(queryContextReq.getParseInfo(),queryContextReq.getUser());
|
||||
// LOGGER.info("queryContextReq::::{}",queryContextReq.getMapInfo().getMatchedDomains());
|
||||
// LOGGER.info("queryContextReq::::{}",queryContextReq.getMapInfo().getDomainElementMatches());
|
||||
// LOGGER.info("queryContextReq::::{}",queryContextReq.getCandidateParseInfos());
|
||||
// LOGGER.info("queryContextReq::::{}",queryContextReq.getDomainId());
|
||||
|
||||
// List<QueryExecutor> queryExecutors = ComponentFactory.getQueryExecutors();
|
||||
// QueryResultResp queryResponse=new QueryResultResp();
|
||||
// for (QueryExecutor executor : queryExecutors) {
|
||||
// queryResponse = executor.execute(semanticParse, queryContextReq.getUser());
|
||||
// if (queryResponse != null) {
|
||||
// // update chat context after a successful semantic query
|
||||
// if (queryContextReq.isSaveAnswer() && queryResponse.getQueryState() == QueryState.NORMAL.getState()) {
|
||||
// chatService.updateContext(chatCtx, queryContextReq, semanticParse);
|
||||
// }
|
||||
// queryResponse.setChatContext(chatCtx.getParseInfo());
|
||||
// chatService.addQuery(queryResponse, queryContextReq, chatCtx);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
//assertThat(found.getName()).isEqualTo(name);
|
||||
}
|
||||
|
||||
public QueryContextReq getQueryContextReq(String query) {
|
||||
QueryContextReq queryContextReq = new QueryContextReq();
|
||||
queryContextReq.setQueryText(query);//"alice的访问次数"
|
||||
queryContextReq.setChatId(1);
|
||||
queryContextReq.setUser(new User(1L, "admin", "admin", "admin@email"));
|
||||
return queryContextReq;
|
||||
}
|
||||
|
||||
@TestConfiguration
|
||||
static class EmployeeServiceImplTestContextConfiguration {
|
||||
|
||||
@Bean
|
||||
public QueryMatchStrategy queryMatchStrategyService() {
|
||||
return new QueryMatchStrategy();
|
||||
}
|
||||
// @Bean
|
||||
// public SemanticLayer querySemanticLayer() {
|
||||
// return new DefaultSemanticLayerImpl();
|
||||
// }
|
||||
//@Bean
|
||||
//public DomainSemanticParser queryDomainSemanticParser() {
|
||||
// return new DomainSemanticParser();
|
||||
//}
|
||||
|
||||
// @Bean
|
||||
// public RestTemplate getRestTemplate(){
|
||||
// return new RestTemplate();
|
||||
// }
|
||||
//
|
||||
// @Bean
|
||||
// public DefaultSemanticInternalUtils getUtils(){
|
||||
// return new DefaultSemanticInternalUtils();
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.tencent.supersonic.chat.test.context;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.tencent.supersonic.chat.api.pojo.Filter;
|
||||
import com.tencent.supersonic.chat.api.pojo.SchemaElement;
|
||||
import com.tencent.supersonic.chat.api.pojo.request.QueryFilter;
|
||||
import com.tencent.supersonic.chat.api.pojo.SemanticParseInfo;
|
||||
import com.tencent.supersonic.semantic.api.query.enums.FilterOperatorEnum;
|
||||
import com.tencent.supersonic.common.enums.AggregateTypeEnum;
|
||||
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
|
||||
import com.tencent.supersonic.common.pojo.DateConf;
|
||||
import com.tencent.supersonic.common.pojo.SchemaItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
@@ -31,9 +32,9 @@ public class SemanticParseObjectHelper {
|
||||
|
||||
private static SemanticParseInfo getSemanticParseInfo(SemanticParseJson semanticParseJson) {
|
||||
Long domain = semanticParseJson.getDomain();
|
||||
Set<SchemaItem> dimensionList = new LinkedHashSet();
|
||||
Set<SchemaItem> metricList = new LinkedHashSet();
|
||||
Set<Filter> chatFilters = new LinkedHashSet();
|
||||
Set<SchemaElement> dimensionList = new LinkedHashSet();
|
||||
Set<SchemaElement> metricList = new LinkedHashSet();
|
||||
Set<QueryFilter> chatFilters = new LinkedHashSet();
|
||||
|
||||
if (semanticParseJson.getFilter() != null && semanticParseJson.getFilter().size() > 0) {
|
||||
for (List<String> filter : semanticParseJson.getFilter()) {
|
||||
@@ -52,7 +53,6 @@ public class SemanticParseObjectHelper {
|
||||
|
||||
semanticParseInfo.setDimensionFilters(chatFilters);
|
||||
semanticParseInfo.setAggType(semanticParseJson.getAggregateType());
|
||||
semanticParseInfo.setDomainId(domain);
|
||||
semanticParseInfo.setQueryMode(semanticParseJson.getQueryMode());
|
||||
semanticParseInfo.setMetrics(metricList);
|
||||
semanticParseInfo.setDimensions(dimensionList);
|
||||
@@ -72,9 +72,9 @@ public class SemanticParseObjectHelper {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static Filter getChatFilter(List<String> filters) {
|
||||
private static QueryFilter getChatFilter(List<String> filters) {
|
||||
if (filters.size() > 1) {
|
||||
Filter chatFilter = new Filter();
|
||||
QueryFilter chatFilter = new QueryFilter();
|
||||
|
||||
chatFilter.setBizName(filters.get(1));
|
||||
chatFilter.setOperator(FilterOperatorEnum.getSqlOperator(filters.get(2)));
|
||||
@@ -91,18 +91,15 @@ public class SemanticParseObjectHelper {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private static SchemaItem getMetric(String bizName, Long domainId) {
|
||||
SchemaItem metric = new SchemaItem();
|
||||
private static SchemaElement getMetric(String bizName, Long domainId) {
|
||||
SchemaElement metric = new SchemaElement();
|
||||
metric.setBizName(bizName);
|
||||
//metric.set(domainId);
|
||||
return metric;
|
||||
}
|
||||
|
||||
private static SchemaItem getDimension(String bizName, Long domainId) {
|
||||
SchemaItem dimension = new SchemaItem();
|
||||
private static SchemaElement getDimension(String bizName, Long domainId) {
|
||||
SchemaElement dimension = new SchemaElement();
|
||||
dimension.setBizName(bizName);
|
||||
//dimension.setDomainId(domainId);
|
||||
return dimension;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user