diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/core/mapper/QueryFilterMapper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/core/mapper/QueryFilterMapper.java index 7c91c39b0..869610582 100644 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/core/mapper/QueryFilterMapper.java +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/core/mapper/QueryFilterMapper.java @@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils; @Slf4j public class QueryFilterMapper implements SchemaMapper { + private double similarity = 1.0; @Override @@ -35,7 +36,7 @@ public class QueryFilterMapper implements SchemaMapper { schemaElementMatches = Lists.newArrayList(); schemaMapInfo.setMatchedElements(modelId, schemaElementMatches); } - addValueSchemaElementMatch(queryContext, schemaElementMatches, queryReq.getQueryFilters()); + addValueSchemaElementMatch(queryContext, schemaElementMatches); } private void clearOtherSchemaElementMatch(Long modelId, SchemaMapInfo schemaMapInfo) { @@ -47,12 +48,12 @@ public class QueryFilterMapper implements SchemaMapper { } private List addValueSchemaElementMatch(QueryContext queryContext, - List candidateElementMatches, - QueryFilters queryFilter) { - if (queryFilter == null || CollectionUtils.isEmpty(queryFilter.getFilters())) { + List candidateElementMatches) { + QueryFilters queryFilters = queryContext.getQueryFilters(); + if (queryFilters == null || CollectionUtils.isEmpty(queryFilters.getFilters())) { return candidateElementMatches; } - for (QueryFilter filter : queryFilter.getFilters()) { + for (QueryFilter filter : queryFilters.getFilters()) { if (checkExistSameValueSchemaElementMatch(filter, candidateElementMatches)) { continue; } @@ -76,7 +77,7 @@ public class QueryFilterMapper implements SchemaMapper { } private boolean checkExistSameValueSchemaElementMatch(QueryFilter queryFilter, - List schemaElementMatches) { + List schemaElementMatches) { List valueSchemaElements = schemaElementMatches.stream().filter(schemaElementMatch -> SchemaElementType.VALUE.equals(schemaElementMatch.getElement().getType())) .collect(Collectors.toList()); diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/QueryServiceImpl.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/QueryServiceImpl.java index 862ca30a5..4b147174e 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/QueryServiceImpl.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/service/impl/QueryServiceImpl.java @@ -196,6 +196,7 @@ public class QueryServiceImpl implements QueryService { Map nameToPlugin = pluginService.getNameToPlugin(); QueryContext queryCtx = QueryContext.builder() .request(queryReq) + .queryFilters(queryReq.getQueryFilters()) .semanticSchema(semanticSchema) .candidateQueries(new ArrayList<>()) .mapInfo(new SchemaMapInfo())