From 2e3d95bcb120eb9b93ee2f265ba26a372e43b18f Mon Sep 17 00:00:00 2001 From: vlofgren Date: Sat, 3 Sep 2022 17:32:53 +0200 Subject: [PATCH] Refactoring and cleanup --- .../wmsa/edge/search/EdgeSearchOperator.java | 10 ++-------- .../search/results/SearchResultDecorator.java | 16 ++++------------ 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/EdgeSearchOperator.java b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/EdgeSearchOperator.java index 7c1b2a05..ddefb2f7 100644 --- a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/EdgeSearchOperator.java +++ b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/EdgeSearchOperator.java @@ -175,14 +175,9 @@ public class EdgeSearchOperator { private DecoratedSearchResultSet performQuery(Context ctx, EdgeSearchQuery processedQuery) { - List resultList = new ArrayList<>(100); + List resultList = new ArrayList<>(processedQuery.specs.limitTotal); - for (var s : processedQuery.specs.subqueries) { - System.out.println(s.block + " : " + s.searchTermsInclude); - } - Set queryResults = wmsa_search_index_api_time.time(() -> fetchResultsSimple(ctx, processedQuery)); - - for (var details : queryResults) { + for (var details : wmsa_search_index_api_time.time(()->fetchResultsSimple(ctx, processedQuery))) { if (details.getUrlQuality() <= -100) { continue; } @@ -193,7 +188,6 @@ public class EdgeSearchOperator { resultList.add(details); } - resultList.sort(resultListComparator); resultList.removeIf(new UrlDeduplicator(processedQuery.specs.limitByDomain)::shouldRemove); diff --git a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultDecorator.java b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultDecorator.java index c8d78637..523374c6 100644 --- a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultDecorator.java +++ b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultDecorator.java @@ -72,21 +72,13 @@ public class SearchResultDecorator { } private double calculateTermScore(IndexBlock block, EdgeSearchResultItem resultItem, EdgeUrlDetails details) { - int titleLength = details.title.length(); - double value = valuator.evaluateTerms(resultItem.scores, block, details.words,titleLength) / Math.sqrt(1 + resultItem.queryLength) - + ((details.domainState == EdgeDomainIndexingState.SPECIAL) ? 1.25 : 0); + final double lengthPenalty = 1.0 / Math.sqrt(resultItem.queryLength); + final double statePenalty = (details.domainState == EdgeDomainIndexingState.SPECIAL) ? 1.25 : 0; - System.out.println("---"); - System.out.println(details.getUrl()); - System.out.println(details.getTitle()); - System.out.println(details.words); - for (var score : resultItem.scores) { - System.out.println(block + ":" + score); - } - System.out.println(value); + final double value = valuator.evaluateTerms(resultItem.scores, block, details.words, details.title.length()); - return value; + return value + lengthPenalty + statePenalty; } }