mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 02:46:56 +00:00
[improvement][headless]Rename METRIC query type enum to AGGREGATE.
This commit is contained in:
@@ -29,7 +29,7 @@ public class DimensionRecommendProcessor implements ExecuteResultProcessor {
|
||||
@Override
|
||||
public void process(ExecuteContext executeContext, QueryResult queryResult) {
|
||||
SemanticParseInfo semanticParseInfo = executeContext.getParseInfo();
|
||||
if (!QueryType.METRIC.equals(semanticParseInfo.getQueryType())
|
||||
if (!QueryType.AGGREGATE.equals(semanticParseInfo.getQueryType())
|
||||
|| CollectionUtils.isEmpty(semanticParseInfo.getMetrics())) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class MetricRatioProcessor implements ExecuteResultProcessor {
|
||||
AggregatorConfig aggregatorConfig = ContextUtils.getBean(AggregatorConfig.class);
|
||||
if (CollectionUtils.isEmpty(semanticParseInfo.getMetrics())
|
||||
|| !aggregatorConfig.getEnableRatio()
|
||||
|| !QueryType.METRIC.equals(semanticParseInfo.getQueryType())) {
|
||||
|| !QueryType.AGGREGATE.equals(semanticParseInfo.getQueryType())) {
|
||||
return;
|
||||
}
|
||||
AggregateInfo aggregateInfo =
|
||||
|
||||
@@ -37,7 +37,7 @@ public class MetricRecommendProcessor implements ExecuteResultProcessor {
|
||||
}
|
||||
|
||||
private void fillSimilarMetric(SemanticParseInfo parseInfo) {
|
||||
if (!parseInfo.getQueryType().equals(QueryType.METRIC)
|
||||
if (!parseInfo.getQueryType().equals(QueryType.AGGREGATE)
|
||||
|| parseInfo.getMetrics().size() > METRIC_RECOMMEND_SIZE
|
||||
|| CollectionUtils.isEmpty(parseInfo.getMetrics())) {
|
||||
return;
|
||||
|
||||
@@ -2,9 +2,9 @@ package com.tencent.supersonic.common.pojo.enums;
|
||||
|
||||
/** Enumerate query types supported by SuperSonic. */
|
||||
public enum QueryType {
|
||||
/** queries with metric calculation (optionally slice and dice by dimensions) */
|
||||
METRIC,
|
||||
/** queries with tag-based entity targeting */
|
||||
/** queries with aggregation (optionally slice and dice by dimensions) */
|
||||
AGGREGATE,
|
||||
/** queries with field selection */
|
||||
DETAIL,
|
||||
/** queries with ID-based entity selection */
|
||||
ID;
|
||||
|
||||
@@ -33,7 +33,7 @@ public class GroupByCorrector extends BaseSemanticCorrector {
|
||||
|
||||
private Boolean needAddGroupBy(
|
||||
ChatQueryContext chatQueryContext, SemanticParseInfo semanticParseInfo) {
|
||||
if (!QueryType.METRIC.equals(semanticParseInfo.getQueryType())) {
|
||||
if (!QueryType.AGGREGATE.equals(semanticParseInfo.getQueryType())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ public class TimeCorrector extends BaseSemanticCorrector {
|
||||
if (CollectionUtils.isEmpty(whereFields) || !whereFields.contains(partitionDimension)) {
|
||||
TimeDefaultConfig timeConfig;
|
||||
QueryConfig queryConfig = dataSetSchema.getQueryConfig();
|
||||
if (QueryType.METRIC.equals(semanticParseInfo.getQueryType())) {
|
||||
if (QueryType.AGGREGATE.equals(semanticParseInfo.getQueryType())) {
|
||||
timeConfig = queryConfig.getAggregateTypeDefaultConfig().getTimeDefaultConfig();
|
||||
} else {
|
||||
timeConfig = queryConfig.getDetailTypeDefaultConfig().getTimeDefaultConfig();
|
||||
|
||||
@@ -73,7 +73,7 @@ public class QueryTypeParser implements SemanticParser {
|
||||
// 2. metric queryType
|
||||
if (selectContainsMetric(sqlInfo, dataSetId, semanticSchema)
|
||||
|| SqlSelectFunctionHelper.hasAggregateFunction(sqlInfo.getParsedS2SQL())) {
|
||||
return QueryType.METRIC;
|
||||
return QueryType.AGGREGATE;
|
||||
}
|
||||
|
||||
return QueryType.DETAIL;
|
||||
|
||||
@@ -259,7 +259,7 @@ public class QueryReqBuilder {
|
||||
public static QueryStructReq buildStructRatioReq(
|
||||
SemanticParseInfo parseInfo, SchemaElement metric, AggOperatorEnum aggOperatorEnum) {
|
||||
QueryStructReq queryStructReq = buildStructReq(parseInfo);
|
||||
queryStructReq.setQueryType(QueryType.METRIC);
|
||||
queryStructReq.setQueryType(QueryType.AGGREGATE);
|
||||
queryStructReq.setOrders(new ArrayList<>());
|
||||
List<Aggregator> aggregators = new ArrayList<>();
|
||||
Aggregator ratioRoll = new Aggregator(metric.getBizName(), aggOperatorEnum);
|
||||
|
||||
@@ -74,7 +74,7 @@ public class ParseInfoProcessor implements ResultProcessor {
|
||||
parseInfo.setMetrics(metrics);
|
||||
|
||||
// extract dimensions from S2SQL
|
||||
if (QueryType.METRIC.equals(parseInfo.getQueryType())) {
|
||||
if (QueryType.AGGREGATE.equals(parseInfo.getQueryType())) {
|
||||
List<String> groupByFields = SqlSelectHelper.getGroupByFields(s2SQL);
|
||||
List<String> groupByDimensions = filterDateField(dsSchema, groupByFields);
|
||||
parseInfo.setDimensions(
|
||||
|
||||
@@ -294,7 +294,7 @@ public class QueryReqConverter {
|
||||
boolean isAgg = AggOption.isAgg(aggOption);
|
||||
QueryType queryType = QueryType.DETAIL;
|
||||
if (isAgg) {
|
||||
queryType = QueryType.METRIC;
|
||||
queryType = QueryType.AGGREGATE;
|
||||
}
|
||||
return queryType;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class QueryNLReqBuilderTest {
|
||||
QueryStructReq queryStructReq = new QueryStructReq();
|
||||
queryStructReq.setDataSetId(1L);
|
||||
queryStructReq.setDataSetName("内容库");
|
||||
queryStructReq.setQueryType(QueryType.METRIC);
|
||||
queryStructReq.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
Aggregator aggregator = new Aggregator();
|
||||
aggregator.setFunc(AggOperatorEnum.UNKNOWN);
|
||||
|
||||
@@ -46,7 +46,7 @@ public class MetricTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -68,7 +68,7 @@ public class MetricTest extends BaseTest {
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(
|
||||
DateConf.DateMode.BETWEEN, 7, DatePeriodEnum.DAY, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -94,7 +94,7 @@ public class MetricTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -116,7 +116,7 @@ public class MetricTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(3, DateConf.DateMode.BETWEEN, DatePeriodEnum.DAY));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -136,7 +136,7 @@ public class MetricTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -166,7 +166,7 @@ public class MetricTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, 1, period, startDay, startDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -67,7 +67,7 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
@@ -94,7 +94,7 @@ public class MultiTurnsTest extends BaseTest {
|
||||
|
||||
expectedParseInfo.setDateInfo(
|
||||
DataUtils.getDateConf(DateConf.DateMode.BETWEEN, unit, period, startDay, endDay));
|
||||
expectedParseInfo.setQueryType(QueryType.METRIC);
|
||||
expectedParseInfo.setQueryType(QueryType.AGGREGATE);
|
||||
|
||||
assertQueryResult(expectedResult, actualResult);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class BaseTest extends BaseApplication {
|
||||
}
|
||||
|
||||
protected QueryStructReq buildQueryStructReq(List<String> groups) {
|
||||
return buildQueryStructReq(groups, QueryType.METRIC);
|
||||
return buildQueryStructReq(groups, QueryType.AGGREGATE);
|
||||
}
|
||||
|
||||
protected QueryStructReq buildQueryStructReq(List<String> groups, QueryType queryType) {
|
||||
@@ -84,7 +84,7 @@ public class BaseTest extends BaseApplication {
|
||||
for (Long modelId : DataUtils.getMetricAgentIModelIds()) {
|
||||
queryStructReq.addModelId(modelId);
|
||||
}
|
||||
queryStructReq.setQueryType(QueryType.METRIC);
|
||||
queryStructReq.setQueryType(QueryType.AGGREGATE);
|
||||
queryStructReq.setAggregators(Arrays.asList(aggregator));
|
||||
|
||||
if (CollectionUtils.isNotEmpty(groups)) {
|
||||
|
||||
Reference in New Issue
Block a user