diff --git a/marginalia_nu/src/main/java/nu/marginalia/wmsa/api/model/ApiSearchResult.java b/marginalia_nu/src/main/java/nu/marginalia/wmsa/api/model/ApiSearchResult.java index 1fe6b53a..a58bd1be 100644 --- a/marginalia_nu/src/main/java/nu/marginalia/wmsa/api/model/ApiSearchResult.java +++ b/marginalia_nu/src/main/java/nu/marginalia/wmsa/api/model/ApiSearchResult.java @@ -23,7 +23,8 @@ public class ApiSearchResult { this.url = url.url.toString(); this.title = url.getTitle(); this.description = url.getDescription(); - this.quality = url.getTermScore(); + + this.quality = sanitizeNaN(url.getTermScore(), -100); if (url.resultItem != null) { var bySet = url.resultItem.scores.stream().collect(Collectors.groupingBy(EdgeSearchResultKeywordScore::set)); @@ -43,4 +44,11 @@ public class ApiSearchResult { } } } + + private double sanitizeNaN(double value, double alternative) { + if (!Double.isFinite(value)) { + return alternative; + } + return value; + } }