diff --git a/code/functions/search-query/api/java/nu/marginalia/api/searchquery/model/results/SearchResultSet.java b/code/functions/search-query/api/java/nu/marginalia/api/searchquery/model/results/SearchResultSet.java index c7e76fd9..09468162 100644 --- a/code/functions/search-query/api/java/nu/marginalia/api/searchquery/model/results/SearchResultSet.java +++ b/code/functions/search-query/api/java/nu/marginalia/api/searchquery/model/results/SearchResultSet.java @@ -19,14 +19,4 @@ public class SearchResultSet { return results.size(); } - public static SearchResultSet combine(SearchResultSet l, SearchResultSet r) { - List combinedItems = new ArrayList<>(l.size() + r.size()); - combinedItems.addAll(l.results); - combinedItems.addAll(r.results); - - // TODO: Do we combine these correctly? - combinedItems.sort(Comparator.comparing(item -> item.rankingScore)); - - return new SearchResultSet(combinedItems); - } } diff --git a/code/functions/search-query/java/nu/marginalia/functions/searchquery/QueryGRPCService.java b/code/functions/search-query/java/nu/marginalia/functions/searchquery/QueryGRPCService.java index 8ebcabc4..98f7fb6f 100644 --- a/code/functions/search-query/java/nu/marginalia/functions/searchquery/QueryGRPCService.java +++ b/code/functions/search-query/java/nu/marginalia/functions/searchquery/QueryGRPCService.java @@ -53,7 +53,7 @@ public class QueryGRPCService extends QueryApiGrpc.QueryApiImplBase { Integer.toString(request.getQueryLimits().getResultsTotal())) .time(() -> { var params = QueryProtobufCodec.convertRequest(request); - var query = queryFactory.createQuery(params, null); + var query = queryFactory.createQuery(params, ResultRankingParameters.sensibleDefaults()); RpcIndexQuery indexRequest = QueryProtobufCodec.convertQuery(request, query); List bestItems = executeQueries(indexRequest, request.getQueryLimits().getResultsTotal()); @@ -109,7 +109,10 @@ public class QueryGRPCService extends QueryApiGrpc.QueryApiImplBase { results.sort(comparator); results.removeIf(this::isBlacklisted); - return results.subList(0, Math.min(totalSize, results.size())); + if (results.size() > totalSize) { + results = results.subList(0, totalSize); + } + return results; } } diff --git a/code/index/java/nu/marginalia/ranking/results/ResultValuator.java b/code/index/java/nu/marginalia/ranking/results/ResultValuator.java index 4f149c4d..1e026b40 100644 --- a/code/index/java/nu/marginalia/ranking/results/ResultValuator.java +++ b/code/index/java/nu/marginalia/ranking/results/ResultValuator.java @@ -137,7 +137,9 @@ public class ResultValuator { return Double.MAX_VALUE; } - return ret; + else { + return ret; + } } private double calculateQualityPenalty(int size, int quality, ResultRankingParameters rankingParams) {