(improvement)(chat) Add queryFilters setting to queryContext. (#601)

This commit is contained in:
lexluo09
2024-01-05 12:04:55 +08:00
committed by GitHub
parent 0408f0fe9a
commit b55b4c130e
2 changed files with 8 additions and 6 deletions

View File

@@ -19,6 +19,7 @@ import org.springframework.util.CollectionUtils;
@Slf4j @Slf4j
public class QueryFilterMapper implements SchemaMapper { public class QueryFilterMapper implements SchemaMapper {
private double similarity = 1.0; private double similarity = 1.0;
@Override @Override
@@ -35,7 +36,7 @@ public class QueryFilterMapper implements SchemaMapper {
schemaElementMatches = Lists.newArrayList(); schemaElementMatches = Lists.newArrayList();
schemaMapInfo.setMatchedElements(modelId, schemaElementMatches); schemaMapInfo.setMatchedElements(modelId, schemaElementMatches);
} }
addValueSchemaElementMatch(queryContext, schemaElementMatches, queryReq.getQueryFilters()); addValueSchemaElementMatch(queryContext, schemaElementMatches);
} }
private void clearOtherSchemaElementMatch(Long modelId, SchemaMapInfo schemaMapInfo) { private void clearOtherSchemaElementMatch(Long modelId, SchemaMapInfo schemaMapInfo) {
@@ -47,12 +48,12 @@ public class QueryFilterMapper implements SchemaMapper {
} }
private List<SchemaElementMatch> addValueSchemaElementMatch(QueryContext queryContext, private List<SchemaElementMatch> addValueSchemaElementMatch(QueryContext queryContext,
List<SchemaElementMatch> candidateElementMatches, List<SchemaElementMatch> candidateElementMatches) {
QueryFilters queryFilter) { QueryFilters queryFilters = queryContext.getQueryFilters();
if (queryFilter == null || CollectionUtils.isEmpty(queryFilter.getFilters())) { if (queryFilters == null || CollectionUtils.isEmpty(queryFilters.getFilters())) {
return candidateElementMatches; return candidateElementMatches;
} }
for (QueryFilter filter : queryFilter.getFilters()) { for (QueryFilter filter : queryFilters.getFilters()) {
if (checkExistSameValueSchemaElementMatch(filter, candidateElementMatches)) { if (checkExistSameValueSchemaElementMatch(filter, candidateElementMatches)) {
continue; continue;
} }

View File

@@ -196,6 +196,7 @@ public class QueryServiceImpl implements QueryService {
Map<String, Plugin> nameToPlugin = pluginService.getNameToPlugin(); Map<String, Plugin> nameToPlugin = pluginService.getNameToPlugin();
QueryContext queryCtx = QueryContext.builder() QueryContext queryCtx = QueryContext.builder()
.request(queryReq) .request(queryReq)
.queryFilters(queryReq.getQueryFilters())
.semanticSchema(semanticSchema) .semanticSchema(semanticSchema)
.candidateQueries(new ArrayList<>()) .candidateQueries(new ArrayList<>())
.mapInfo(new SchemaMapInfo()) .mapInfo(new SchemaMapInfo())