(improvement)(Headless) corrector supports subselect sql and opt BenchMarkDemoDataLoader (#1023)

* [improvement] corrector and QueryReqConverter  support subselect

* [improvement] corrector and QueryReqConverter  support subselect

* [improvement] adapt BenchMarkDemoDataLoader

* [improvement] adapt checkstyle

---------

Co-authored-by: zuopengge
This commit is contained in:
mainmain
2024-05-22 15:56:06 +08:00
committed by GitHub
parent 2cc107ebc9
commit 418abef982
5 changed files with 95 additions and 62 deletions

View File

@@ -5,6 +5,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Set; import java.util.Set;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.Function; import net.sf.jsqlparser.expression.Function;
@@ -23,6 +25,7 @@ import net.sf.jsqlparser.statement.select.Select;
import net.sf.jsqlparser.statement.select.SelectItem; import net.sf.jsqlparser.statement.select.SelectItem;
import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter;
import net.sf.jsqlparser.statement.select.SetOperationList; import net.sf.jsqlparser.statement.select.SetOperationList;
import net.sf.jsqlparser.statement.select.ParenthesedSelect;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@@ -148,6 +151,24 @@ public class SqlAddHelper {
return sql; return sql;
} }
PlainSelect plainSelect = (PlainSelect) selectStatement; PlainSelect plainSelect = (PlainSelect) selectStatement;
List<String> chNameList = TimeDimensionEnum.getChNameList();
Boolean dateWhere = false;
for (String chName : chNameList) {
if (expression.toString().contains(chName)) {
dateWhere = true;
}
}
if (plainSelect.getFromItem() instanceof ParenthesedSelect && dateWhere) {
ParenthesedSelect parenthesedSelect = (ParenthesedSelect) plainSelect.getFromItem();
PlainSelect subPlainSelect = parenthesedSelect.getPlainSelect();
Expression subWhere = subPlainSelect.getWhere();
if (subWhere == null) {
subPlainSelect.setWhere(expression);
} else {
subPlainSelect.setWhere(new AndExpression(subWhere, expression));
}
return selectStatement.toString();
}
Expression where = plainSelect.getWhere(); Expression where = plainSelect.getWhere();
if (where == null) { if (where == null) {

View File

@@ -397,12 +397,14 @@ public class SqlReplaceHelper {
if (selectStatement instanceof PlainSelect) { if (selectStatement instanceof PlainSelect) {
PlainSelect plainSelect = (PlainSelect) selectStatement; PlainSelect plainSelect = (PlainSelect) selectStatement;
replaceSingleTable(plainSelect, tableName); replaceSingleTable(plainSelect, tableName);
replaceSubTable(plainSelect, tableName);
} else if (selectStatement instanceof SetOperationList) { } else if (selectStatement instanceof SetOperationList) {
SetOperationList setOperationList = (SetOperationList) selectStatement; SetOperationList setOperationList = (SetOperationList) selectStatement;
if (!CollectionUtils.isEmpty(setOperationList.getSelects())) { if (!CollectionUtils.isEmpty(setOperationList.getSelects())) {
setOperationList.getSelects().forEach(subSelectBody -> { setOperationList.getSelects().forEach(subSelectBody -> {
PlainSelect subPlainSelect = (PlainSelect) subSelectBody; PlainSelect subPlainSelect = (PlainSelect) subSelectBody;
replaceSingleTable(subPlainSelect, tableName); replaceSingleTable(subPlainSelect, tableName);
replaceSubTable(subPlainSelect, tableName);
}); });
} }
} }
@@ -410,6 +412,14 @@ public class SqlReplaceHelper {
return selectStatement.toString(); return selectStatement.toString();
} }
public static void replaceSubTable(PlainSelect plainSelect, String tableName) {
if (plainSelect.getFromItem() instanceof ParenthesedSelect) {
ParenthesedSelect parenthesedSelect = (ParenthesedSelect) plainSelect.getFromItem();
PlainSelect subPlainSelect = parenthesedSelect.getPlainSelect();
replaceSingleTable(subPlainSelect, tableName);
}
}
public static void replaceSingleTable(PlainSelect plainSelect, String tableName) { public static void replaceSingleTable(PlainSelect plainSelect, String tableName) {
// replace table name // replace table name
List<PlainSelect> plainSelects = new ArrayList<>(); List<PlainSelect> plainSelects = new ArrayList<>();

View File

@@ -25,6 +25,9 @@ import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
import com.tencent.supersonic.headless.api.pojo.request.DomainReq; import com.tencent.supersonic.headless.api.pojo.request.DomainReq;
import com.tencent.supersonic.headless.api.pojo.request.ModelReq; import com.tencent.supersonic.headless.api.pojo.request.ModelReq;
import com.tencent.supersonic.headless.api.pojo.request.DataSetReq; import com.tencent.supersonic.headless.api.pojo.request.DataSetReq;
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
import com.tencent.supersonic.headless.api.pojo.response.DomainResp;
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
import com.tencent.supersonic.headless.server.service.DomainService; import com.tencent.supersonic.headless.server.service.DomainService;
import com.tencent.supersonic.headless.server.service.MetricService; import com.tencent.supersonic.headless.server.service.MetricService;
import com.tencent.supersonic.headless.server.service.ModelRelaService; import com.tencent.supersonic.headless.server.service.ModelRelaService;
@@ -55,28 +58,31 @@ public class BenchMarkDemoDataLoader {
private DataSetService viewService; private DataSetService viewService;
@Autowired @Autowired
private MetricService metricService; private MetricService metricService;
@Autowired
private ModelDemoDataLoader modelDemoDataLoader;
public void doRun() { public void doRun() {
try { try {
addDomain(); DatabaseResp databaseResp = modelDemoDataLoader.tmpDatabaseResp;
addModel_1(); DomainResp s2Domain = addDomain();
addModel_2(); ModelResp genreModelResp = addModel_1(s2Domain, databaseResp);
addModel_3(); ModelResp artistModelResp = addModel_2(s2Domain, databaseResp);
addModel_4(); ModelResp filesModelResp = addModel_3(s2Domain, databaseResp);
addDataSet_1(); ModelResp songModelResp = addModel_4(s2Domain, databaseResp);
addModelRela_1(); addDataSet_1(s2Domain);
addModelRela_2(); addModelRela_1(s2Domain, genreModelResp, artistModelResp);
addModelRela_3(); addModelRela_2(s2Domain, filesModelResp, artistModelResp);
addModelRela_4(); addModelRela_3(s2Domain, songModelResp, artistModelResp);
addModelRela_5(); addModelRela_4(s2Domain, songModelResp, genreModelResp);
batchPushlishMetric(); addModelRela_5(s2Domain, songModelResp, filesModelResp);
//batchPushlishMetric();
} catch (Exception e) { } catch (Exception e) {
log.error("Failed to add bench mark demo data", e); log.error("Failed to add bench mark demo data", e);
} }
} }
public void addDomain() { public DomainResp addDomain() {
DomainReq domainReq = new DomainReq(); DomainReq domainReq = new DomainReq();
domainReq.setName("测评数据_音乐"); domainReq.setName("测评数据_音乐");
domainReq.setBizName("music"); domainReq.setBizName("music");
@@ -85,17 +91,16 @@ public class BenchMarkDemoDataLoader {
domainReq.setViewOrgs(Collections.singletonList("1")); domainReq.setViewOrgs(Collections.singletonList("1"));
domainReq.setAdmins(Collections.singletonList("admin")); domainReq.setAdmins(Collections.singletonList("admin"));
domainReq.setAdminOrgs(Collections.emptyList()); domainReq.setAdminOrgs(Collections.emptyList());
domainService.createDomain(domainReq, user); return domainService.createDomain(domainReq, user);
} }
public void addModel_1() throws Exception { public ModelResp addModel_1(DomainResp s2Domain, DatabaseResp s2Database) throws Exception {
ModelReq modelReq = new ModelReq(); ModelReq modelReq = new ModelReq();
modelReq.setDomainId(3L); modelReq.setDomainId(s2Domain.getId());
modelReq.setName("艺术类型"); modelReq.setName("艺术类型");
modelReq.setBizName("genre"); modelReq.setBizName("genre");
modelReq.setDescription("艺术类型"); modelReq.setDescription("艺术类型");
modelReq.setDatabaseId(1L); modelReq.setDatabaseId(s2Database.getId());
modelReq.setDomainId(3L);
modelReq.setViewers(Arrays.asList("admin", "tom", "jack")); modelReq.setViewers(Arrays.asList("admin", "tom", "jack"));
modelReq.setViewOrgs(Collections.singletonList("1")); modelReq.setViewOrgs(Collections.singletonList("1"));
modelReq.setAdmins(Collections.singletonList("admin")); modelReq.setAdmins(Collections.singletonList("admin"));
@@ -121,16 +126,16 @@ public class BenchMarkDemoDataLoader {
modelDetail.setQueryType("sql_query"); modelDetail.setQueryType("sql_query");
modelDetail.setSqlQuery("SELECT g_name, rating, most_popular_in FROM genre"); modelDetail.setSqlQuery("SELECT g_name, rating, most_popular_in FROM genre");
modelReq.setModelDetail(modelDetail); modelReq.setModelDetail(modelDetail);
modelService.createModel(modelReq, user); return modelService.createModel(modelReq, user);
} }
public void addModel_2() throws Exception { public ModelResp addModel_2(DomainResp s2Domain, DatabaseResp s2Database) throws Exception {
ModelReq modelReq = new ModelReq(); ModelReq modelReq = new ModelReq();
modelReq.setDomainId(3L); modelReq.setDomainId(s2Domain.getId());
modelReq.setName("艺术家"); modelReq.setName("艺术家");
modelReq.setBizName("artist"); modelReq.setBizName("artist");
modelReq.setDescription("艺术家"); modelReq.setDescription("艺术家");
modelReq.setDatabaseId(1L); modelReq.setDatabaseId(s2Database.getId());
ModelDetail modelDetail = new ModelDetail(); ModelDetail modelDetail = new ModelDetail();
List<Dim> dimensions = new ArrayList<>(); List<Dim> dimensions = new ArrayList<>();
dimensions.add(new Dim("艺术家名称", "artist_name", DimensionType.categorical.name(), 1)); dimensions.add(new Dim("艺术家名称", "artist_name", DimensionType.categorical.name(), 1));
@@ -148,16 +153,16 @@ public class BenchMarkDemoDataLoader {
modelDetail.setQueryType("sql_query"); modelDetail.setQueryType("sql_query");
modelDetail.setSqlQuery("SELECT artist_name, country, gender, g_name FROM artist"); modelDetail.setSqlQuery("SELECT artist_name, country, gender, g_name FROM artist");
modelReq.setModelDetail(modelDetail); modelReq.setModelDetail(modelDetail);
modelService.createModel(modelReq, user); return modelService.createModel(modelReq, user);
} }
public void addModel_3() throws Exception { public ModelResp addModel_3(DomainResp s2Domain, DatabaseResp s2Database) throws Exception {
ModelReq modelReq = new ModelReq(); ModelReq modelReq = new ModelReq();
modelReq.setDomainId(3L); modelReq.setDomainId(s2Domain.getId());
modelReq.setName("文件"); modelReq.setName("文件");
modelReq.setBizName("files"); modelReq.setBizName("files");
modelReq.setDescription("文件"); modelReq.setDescription("文件");
modelReq.setDatabaseId(1L); modelReq.setDatabaseId(s2Database.getId());
ModelDetail modelDetail = new ModelDetail(); ModelDetail modelDetail = new ModelDetail();
List<Dim> dimensions = new ArrayList<>(); List<Dim> dimensions = new ArrayList<>();
dimensions.add(new Dim("持续时间", "duration", DimensionType.categorical.name(), 1)); dimensions.add(new Dim("持续时间", "duration", DimensionType.categorical.name(), 1));
@@ -175,16 +180,16 @@ public class BenchMarkDemoDataLoader {
modelDetail.setQueryType("sql_query"); modelDetail.setQueryType("sql_query");
modelDetail.setSqlQuery("SELECT f_id, artist_name, file_size, duration, formats FROM files"); modelDetail.setSqlQuery("SELECT f_id, artist_name, file_size, duration, formats FROM files");
modelReq.setModelDetail(modelDetail); modelReq.setModelDetail(modelDetail);
modelService.createModel(modelReq, user); return modelService.createModel(modelReq, user);
} }
public void addModel_4() throws Exception { public ModelResp addModel_4(DomainResp s2Domain, DatabaseResp s2Database) throws Exception {
ModelReq modelReq = new ModelReq(); ModelReq modelReq = new ModelReq();
modelReq.setDomainId(3L); modelReq.setDomainId(s2Domain.getId());
modelReq.setName("歌曲"); modelReq.setName("歌曲");
modelReq.setBizName("song"); modelReq.setBizName("song");
modelReq.setDescription("歌曲"); modelReq.setDescription("歌曲");
modelReq.setDatabaseId(1L); modelReq.setDatabaseId(s2Database.getId());
ModelDetail modelDetail = new ModelDetail(); ModelDetail modelDetail = new ModelDetail();
List<Dim> dimensions = new ArrayList<>(); List<Dim> dimensions = new ArrayList<>();
Dim dimension1 = new Dim("", "imp_date", DimensionType.time.name(), 0); Dim dimension1 = new Dim("", "imp_date", DimensionType.time.name(), 0);
@@ -213,22 +218,17 @@ public class BenchMarkDemoDataLoader {
modelDetail.setSqlQuery("SELECT imp_date, song_name, artist_name, country, f_id, g_name, " modelDetail.setSqlQuery("SELECT imp_date, song_name, artist_name, country, f_id, g_name, "
+ " rating, languages, releasedate, resolution FROM song"); + " rating, languages, releasedate, resolution FROM song");
modelReq.setModelDetail(modelDetail); modelReq.setModelDetail(modelDetail);
modelService.createModel(modelReq, user); return modelService.createModel(modelReq, user);
} }
public void addDataSet_1() { public void addDataSet_1(DomainResp s2Domain) {
DataSetReq viewReq = new DataSetReq(); DataSetReq viewReq = new DataSetReq();
viewReq.setName("cspider"); viewReq.setName("cspider");
viewReq.setBizName("singer"); viewReq.setBizName("singer");
viewReq.setDomainId(3L); viewReq.setDomainId(s2Domain.getId());
viewReq.setDescription("包含cspider数据集相关标签和指标信息"); viewReq.setDescription("包含cspider数据集相关标签和指标信息");
viewReq.setAdmins(Lists.newArrayList("admin")); viewReq.setAdmins(Lists.newArrayList("admin"));
List<DataSetModelConfig> viewModelConfigs = Lists.newArrayList( List<DataSetModelConfig> viewModelConfigs = modelDemoDataLoader.getDataSetModelConfigs(s2Domain.getId());
new DataSetModelConfig(5L, Lists.newArrayList(8L), Lists.newArrayList()),
new DataSetModelConfig(6L, Lists.newArrayList(9L, 10L), Lists.newArrayList()),
new DataSetModelConfig(7L, Lists.newArrayList(11L, 12L), Lists.newArrayList()),
new DataSetModelConfig(8L, Lists.newArrayList(13L, 14L), Lists.newArrayList(8L, 9L))
);
DataSetDetail viewDetail = new DataSetDetail(); DataSetDetail viewDetail = new DataSetDetail();
viewDetail.setDataSetModelConfigs(viewModelConfigs); viewDetail.setDataSetModelConfigs(viewModelConfigs);
viewReq.setDataSetDetail(viewDetail); viewReq.setDataSetDetail(viewDetail);
@@ -254,61 +254,61 @@ public class BenchMarkDemoDataLoader {
viewService.save(viewReq, User.getFakeUser()); viewService.save(viewReq, User.getFakeUser());
} }
public void addModelRela_1() { public void addModelRela_1(DomainResp s2Domain, ModelResp genreModelResp, ModelResp artistModelResp) {
List<JoinCondition> joinConditions = Lists.newArrayList(); List<JoinCondition> joinConditions = Lists.newArrayList();
joinConditions.add(new JoinCondition("g_name", "g_name", FilterOperatorEnum.EQUALS)); joinConditions.add(new JoinCondition("g_name", "g_name", FilterOperatorEnum.EQUALS));
ModelRela modelRelaReq = new ModelRela(); ModelRela modelRelaReq = new ModelRela();
modelRelaReq.setDomainId(3L); modelRelaReq.setDomainId(s2Domain.getId());
modelRelaReq.setFromModelId(6L); modelRelaReq.setFromModelId(artistModelResp.getId());
modelRelaReq.setToModelId(5L); modelRelaReq.setToModelId(genreModelResp.getId());
modelRelaReq.setJoinType("left join"); modelRelaReq.setJoinType("left join");
modelRelaReq.setJoinConditions(joinConditions); modelRelaReq.setJoinConditions(joinConditions);
modelRelaService.save(modelRelaReq, user); modelRelaService.save(modelRelaReq, user);
} }
public void addModelRela_2() { public void addModelRela_2(DomainResp s2Domain, ModelResp filesModelResp, ModelResp artistModelResp) {
List<JoinCondition> joinConditions = Lists.newArrayList(); List<JoinCondition> joinConditions = Lists.newArrayList();
joinConditions.add(new JoinCondition("artist_name", "artist_name", FilterOperatorEnum.EQUALS)); joinConditions.add(new JoinCondition("artist_name", "artist_name", FilterOperatorEnum.EQUALS));
ModelRela modelRelaReq = new ModelRela(); ModelRela modelRelaReq = new ModelRela();
modelRelaReq.setDomainId(3L); modelRelaReq.setDomainId(s2Domain.getId());
modelRelaReq.setFromModelId(7L); modelRelaReq.setFromModelId(filesModelResp.getId());
modelRelaReq.setToModelId(6L); modelRelaReq.setToModelId(artistModelResp.getId());
modelRelaReq.setJoinType("left join"); modelRelaReq.setJoinType("left join");
modelRelaReq.setJoinConditions(joinConditions); modelRelaReq.setJoinConditions(joinConditions);
modelRelaService.save(modelRelaReq, user); modelRelaService.save(modelRelaReq, user);
} }
public void addModelRela_3() { public void addModelRela_3(DomainResp s2Domain, ModelResp songModelResp, ModelResp artistModelResp) {
List<JoinCondition> joinConditions = Lists.newArrayList(); List<JoinCondition> joinConditions = Lists.newArrayList();
joinConditions.add(new JoinCondition("artist_name", "artist_name", FilterOperatorEnum.EQUALS)); joinConditions.add(new JoinCondition("artist_name", "artist_name", FilterOperatorEnum.EQUALS));
ModelRela modelRelaReq = new ModelRela(); ModelRela modelRelaReq = new ModelRela();
modelRelaReq.setDomainId(3L); modelRelaReq.setDomainId(s2Domain.getId());
modelRelaReq.setFromModelId(8L); modelRelaReq.setFromModelId(songModelResp.getId());
modelRelaReq.setToModelId(6L); modelRelaReq.setToModelId(artistModelResp.getId());
modelRelaReq.setJoinType("left join"); modelRelaReq.setJoinType("left join");
modelRelaReq.setJoinConditions(joinConditions); modelRelaReq.setJoinConditions(joinConditions);
modelRelaService.save(modelRelaReq, user); modelRelaService.save(modelRelaReq, user);
} }
public void addModelRela_4() { public void addModelRela_4(DomainResp s2Domain, ModelResp songModelResp, ModelResp genreModelResp) {
List<JoinCondition> joinConditions = Lists.newArrayList(); List<JoinCondition> joinConditions = Lists.newArrayList();
joinConditions.add(new JoinCondition("g_name", "g_name", FilterOperatorEnum.EQUALS)); joinConditions.add(new JoinCondition("g_name", "g_name", FilterOperatorEnum.EQUALS));
ModelRela modelRelaReq = new ModelRela(); ModelRela modelRelaReq = new ModelRela();
modelRelaReq.setDomainId(3L); modelRelaReq.setDomainId(s2Domain.getId());
modelRelaReq.setFromModelId(8L); modelRelaReq.setFromModelId(songModelResp.getId());
modelRelaReq.setToModelId(5L); modelRelaReq.setToModelId(genreModelResp.getId());
modelRelaReq.setJoinType("left join"); modelRelaReq.setJoinType("left join");
modelRelaReq.setJoinConditions(joinConditions); modelRelaReq.setJoinConditions(joinConditions);
modelRelaService.save(modelRelaReq, user); modelRelaService.save(modelRelaReq, user);
} }
public void addModelRela_5() { public void addModelRela_5(DomainResp s2Domain, ModelResp songModelResp, ModelResp filesModelResp) {
List<JoinCondition> joinConditions = Lists.newArrayList(); List<JoinCondition> joinConditions = Lists.newArrayList();
joinConditions.add(new JoinCondition("f_id", "f_id", FilterOperatorEnum.EQUALS)); joinConditions.add(new JoinCondition("f_id", "f_id", FilterOperatorEnum.EQUALS));
ModelRela modelRelaReq = new ModelRela(); ModelRela modelRelaReq = new ModelRela();
modelRelaReq.setDomainId(3L); modelRelaReq.setDomainId(s2Domain.getId());
modelRelaReq.setFromModelId(8L); modelRelaReq.setFromModelId(songModelResp.getId());
modelRelaReq.setToModelId(7L); modelRelaReq.setToModelId(filesModelResp.getId());
modelRelaReq.setJoinType("left join"); modelRelaReq.setJoinType("left join");
modelRelaReq.setJoinConditions(joinConditions); modelRelaReq.setJoinConditions(joinConditions);
modelRelaService.save(modelRelaReq, user); modelRelaService.save(modelRelaReq, user);

View File

@@ -91,6 +91,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class ModelDemoDataLoader { public class ModelDemoDataLoader {
protected DatabaseResp tmpDatabaseResp = null;
private User user = User.getFakeUser(); private User user = User.getFakeUser();
@Autowired @Autowired
private DatabaseService databaseService; private DatabaseService databaseService;
@@ -122,6 +123,7 @@ public class ModelDemoDataLoader {
public void doRun() { public void doRun() {
try { try {
DatabaseResp databaseResp = addDatabase(); DatabaseResp databaseResp = addDatabase();
tmpDatabaseResp = databaseResp;
DomainResp s2Domain = addDomain(); DomainResp s2Domain = addDomain();
TagObjectResp s2TagObject = addTagObjectUser(s2Domain); TagObjectResp s2TagObject = addTagObjectUser(s2Domain);
ModelResp userModel = addModel_1(s2Domain, databaseResp, s2TagObject); ModelResp userModel = addModel_1(s2Domain, databaseResp, s2TagObject);
@@ -537,7 +539,7 @@ public class ModelDemoDataLoader {
DataSetReq dataSetReq = new DataSetReq(); DataSetReq dataSetReq = new DataSetReq();
dataSetReq.setName("超音数"); dataSetReq.setName("超音数");
dataSetReq.setBizName("s2"); dataSetReq.setBizName("s2");
dataSetReq.setDomainId(1L); dataSetReq.setDomainId(s2Domain.getId());
dataSetReq.setDescription("包含超音数访问统计相关的指标和维度等"); dataSetReq.setDescription("包含超音数访问统计相关的指标和维度等");
dataSetReq.setAdmins(Lists.newArrayList("admin")); dataSetReq.setAdmins(Lists.newArrayList("admin"));
List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(s2Domain.getId()); List<DataSetModelConfig> dataSetModelConfigs = getDataSetModelConfigs(s2Domain.getId());
@@ -680,7 +682,7 @@ public class ModelDemoDataLoader {
return metricService.getMetric(model.getId(), bizName); return metricService.getMetric(model.getId(), bizName);
} }
private List<DataSetModelConfig> getDataSetModelConfigs(Long domainId) { protected List<DataSetModelConfig> getDataSetModelConfigs(Long domainId) {
List<DataSetModelConfig> dataSetModelConfigs = Lists.newArrayList(); List<DataSetModelConfig> dataSetModelConfigs = Lists.newArrayList();
List<ModelResp> modelByDomainIds = List<ModelResp> modelByDomainIds =
modelService.getModelByDomainIds(Lists.newArrayList(domainId)); modelService.getModelByDomainIds(Lists.newArrayList(domainId));

View File

@@ -114,4 +114,4 @@ logging:
inMemoryEmbeddingStore: inMemoryEmbeddingStore:
persistent: persistent:
path: /tmp path: /tmp