diff --git a/chat/server/src/main/java/com/tencent/supersonic/chat/server/plugin/build/PluginSemanticQuery.java b/chat/server/src/main/java/com/tencent/supersonic/chat/server/plugin/build/PluginSemanticQuery.java index 26679a2af..dd713e287 100644 --- a/chat/server/src/main/java/com/tencent/supersonic/chat/server/plugin/build/PluginSemanticQuery.java +++ b/chat/server/src/main/java/com/tencent/supersonic/chat/server/plugin/build/PluginSemanticQuery.java @@ -11,9 +11,11 @@ import com.tencent.supersonic.headless.api.pojo.response.QueryResult; import lombok.extern.slf4j.Slf4j; import org.springframework.util.CollectionUtils; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Slf4j public abstract class PluginSemanticQuery { @@ -41,7 +43,10 @@ public abstract class PluginSemanticQuery { protected Map getElementMap(PluginParseResult pluginParseResult) { Map elementValueMap = new HashMap<>(); Map filterValueMap = getFilterMap(pluginParseResult); - List schemaElementMatchList = parseInfo.getElementMatches(); + List schemaElementMatchList = parseInfo.getElementMatches() + .stream().filter(schemaElementMatch -> schemaElementMatch.getFrequency() != null) + .sorted(Comparator.comparingLong(SchemaElementMatch::getFrequency).reversed()) + .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(schemaElementMatchList)) { schemaElementMatchList.stream().filter(schemaElementMatch -> SchemaElementType.VALUE.equals(schemaElementMatch.getElement().getType())