From 3dec4b6b340c495e4567407646c27ce05133ce13 Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Tue, 24 Sep 2024 13:33:37 +0200 Subject: [PATCH] (index) Fix bug where tcfFirstPosition lit up because one term was in the title and the other was missing from the document This was because firstPosition calculation was not invalidated when positions were missing. --- .../index/results/IndexResultScoreCalculator.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/index/java/nu/marginalia/index/results/IndexResultScoreCalculator.java b/code/index/java/nu/marginalia/index/results/IndexResultScoreCalculator.java index 105eb3e0..ba293bae 100644 --- a/code/index/java/nu/marginalia/index/results/IndexResultScoreCalculator.java +++ b/code/index/java/nu/marginalia/index/results/IndexResultScoreCalculator.java @@ -446,10 +446,13 @@ public class IndexResultScoreCalculator { for (int i = 0; i < compiledQuery.size(); i++) { - if (positions[i] == null || !regularMask.get(i)) + if (!regularMask.get(i)) continue; - if (positions[i].isEmpty()) continue; + if (positions[i] == null || positions[i].isEmpty()) { + firstPosition = Integer.MAX_VALUE; + continue; + } firstPosition = Math.max(firstPosition, positions[i].getInt(0)); searchableKeywordCount ++;