4 Commits

Author SHA1 Message Date
superhero
ff76f8edbd (fix | improvement)Improve the performance of the chat page retrieve function
Some checks failed
supersonic CentOS CI / build (21) (push) Has been cancelled
supersonic mac CI / build (21) (push) Has been cancelled
supersonic ubuntu CI / build (21) (push) Has been cancelled
supersonic windows CI / build (21) (push) Has been cancelled
Merge pull request #2359 from luowanghaoyun/github_master
2025-08-15 09:22:06 +08:00
superhero
76745f38a4 Merge pull request #2362 from wangyong00/fixed-bug-npe-1
(fix)(headless)修复维度和指标信息不存在时,遍历List<NULL>数据抛出NPE异常
2025-08-15 09:15:49 +08:00
wangyong97
ce4cdb62ab (fix)(headless)修复维度和指标信息不存在时,遍历List<NULL>数据抛出NPE异常 2025-08-14 19:15:07 +08:00
luowanghaoyun
c2ce3a75b7 Improve the performance of the chat page retrieve function 2025-08-12 14:26:18 +08:00
3 changed files with 11 additions and 3 deletions

View File

@@ -519,6 +519,9 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
private DataItem getDataItem(DimensionDO dimensionDO) {
ModelResp modelResp = modelService.getModel(dimensionDO.getModelId());
if(modelResp == null) {
return null;
}
DimensionResp dimensionResp = DimensionConverter.convert2DimensionResp(dimensionDO,
ImmutableMap.of(modelResp.getId(), modelResp));
return DataItem.builder().id(dimensionResp.getId().toString()).name(dimensionResp.getName())
@@ -528,7 +531,9 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
private DataEvent getDataEvent(List<DimensionDO> dimensionDOS, EventType eventType) {
List<DataItem> dataItems =
dimensionDOS.stream().map(this::getDataItem).collect(Collectors.toList());
dimensionDOS.stream().map(this::getDataItem)
.filter(Objects::nonNull)
.collect(Collectors.toList());
return new DataEvent(this, dataItems, eventType);
}

View File

@@ -683,7 +683,9 @@ public class MetricServiceImpl extends ServiceImpl<MetricDOMapper, MetricDO>
private DataEvent getDataEvent(List<MetricDO> metricDOS, EventType eventType) {
List<DataItem> dataItems =
metricDOS.stream().map(this::getDataItem).collect(Collectors.toList());
metricDOS.stream().map(this::getDataItem)
.filter(Objects::nonNull)
.collect(Collectors.toList());
return new DataEvent(this, dataItems, eventType);
}

View File

@@ -1,5 +1,6 @@
package com.tencent.supersonic.headless.server.service.impl;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.User;
import com.tencent.supersonic.common.pojo.enums.DictWordType;
import com.tencent.supersonic.headless.api.pojo.SchemaElement;
@@ -79,7 +80,7 @@ public class RetrieveServiceImpl implements RetrieveService {
Set<Long> dataSetIds = queryNLReq.getDataSetIds();
ChatQueryContext chatQueryContext = new ChatQueryContext(queryNLReq);
chatQueryContext.setModelIdToDataSetIds(dataSetService.getModelIdToDataSetIds());
chatQueryContext.setModelIdToDataSetIds(modelIdToDataSetIds);
Map<MatchText, List<HanlpMapResult>> regTextMap =
searchMatchStrategy.match(chatQueryContext, originals, dataSetIds);