From 487d74592d165a41c1acefcae3d127b95531a450 Mon Sep 17 00:00:00 2001 From: vlofgren Date: Tue, 2 Aug 2022 17:38:15 +0200 Subject: [PATCH] Test rewarding linked terms. --- .../wmsa/edge/search/results/SearchResultValuator.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultValuator.java b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultValuator.java index 5e33e49d..61895b4f 100644 --- a/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultValuator.java +++ b/marginalia_nu/src/main/java/nu/marginalia/wmsa/edge/search/results/SearchResultValuator.java @@ -2,8 +2,8 @@ package nu.marginalia.wmsa.edge.search.results; import com.google.inject.Inject; import com.google.inject.Singleton; -import nu.marginalia.wmsa.edge.assistant.dict.NGramDict; import nu.marginalia.util.language.WordPatterns; +import nu.marginalia.wmsa.edge.assistant.dict.NGramDict; import nu.marginalia.wmsa.edge.index.model.IndexBlock; import nu.marginalia.wmsa.edge.model.search.EdgeSearchResultKeywordScore; @@ -40,7 +40,13 @@ public class SearchResultValuator { double factorSum = 0.; for (int i = 0; i < scores.length; i++) { - final double factor = 1.0 / (1.0 + weights[i]); + final double factorBase; + + if (scores[i].link) factorBase = 0.5; + else factorBase = 1.; + + final double factor = factorBase / (1.0 + weights[i]); + factorSum += factor; double termValue = (scores[i].index.sortOrder + 0.5) * factor;