From 674af5449de105d3184b253934465b1a362b338f Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Sun, 6 Nov 2022 12:13:50 +0100 Subject: [PATCH] Fix for intermittent API service 500's (#127) Co-authored-by: vlofgren Co-authored-by: vlofgren Co-authored-by: Viktor Lofgren Reviewed-on: https://git.marginalia.nu/marginalia/marginalia.nu/pulls/127 --- .../nu/marginalia/wmsa/api/model/ApiSearchResult.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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; + } }