From 5de41a3a7fab4b8991bbfe543619deae89331273 Mon Sep 17 00:00:00 2001 From: Viktor Lofgren Date: Wed, 25 Oct 2023 12:44:48 +0200 Subject: [PATCH] (search-service) Show node affinity in site info tab --- .../search/model/DomainInformation.java | 1 + .../siteinfo/DomainInformationService.java | 20 ++++++++++++++++++- .../search/parts/site-info-index.hdb | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/code/services-application/search-service/src/main/java/nu/marginalia/search/model/DomainInformation.java b/code/services-application/search-service/src/main/java/nu/marginalia/search/model/DomainInformation.java index 6a7a6c3e..2491258d 100644 --- a/code/services-application/search-service/src/main/java/nu/marginalia/search/model/DomainInformation.java +++ b/code/services-application/search-service/src/main/java/nu/marginalia/search/model/DomainInformation.java @@ -16,6 +16,7 @@ public class DomainInformation { int pagesIndexed; int incomingLinks; int outboundLinks; + int nodeAffinity; double ranking; boolean suggestForCrawling; diff --git a/code/services-application/search-service/src/main/java/nu/marginalia/search/siteinfo/DomainInformationService.java b/code/services-application/search-service/src/main/java/nu/marginalia/search/siteinfo/DomainInformationService.java index bd15c497..69117d51 100644 --- a/code/services-application/search-service/src/main/java/nu/marginalia/search/siteinfo/DomainInformationService.java +++ b/code/services-application/search-service/src/main/java/nu/marginalia/search/siteinfo/DomainInformationService.java @@ -55,7 +55,7 @@ public class DomainInformationService { int pagesIndexed = getPagesIndexed(domainId); int incomingLinks = getIncomingLinks(domainId); int outboundLinks = getOutboundLinks(domainId); - + int nodeAffinity = getNodeAffinity(domainId); boolean inCrawlQueue = inCrawlQueue(domainId); double rank = Math.round(10000.0*(1.0-getRank(domainId)))/100; @@ -75,12 +75,30 @@ public class DomainInformationService { .state(state.desc) .linkingDomains(linkingDomains) .inCrawlQueue(inCrawlQueue) + .nodeAffinity(nodeAffinity) .suggestForCrawling((pagesVisited == 0 && !inCrawlQueue)) .build(); return Optional.of(di); } + private int getNodeAffinity(int domainId) { + try (var connection = dataSource.getConnection()) { + try (var stmt = connection.prepareStatement(""" + SELECT NODE_AFFINITY FROM EC_DOMAIN WHERE ID=? + """)) { + stmt.setInt(1, domainId); + var rs = stmt.executeQuery(); + if (rs.next()) + return rs.getInt(1); + } + } + catch (SQLException ex) { + logger.error("SQL error", ex); + } + return -1; + } + @SneakyThrows private boolean inCrawlQueue(int domainId) { try (var connection = dataSource.getConnection()) { diff --git a/code/services-application/search-service/src/main/resources/templates/search/parts/site-info-index.hdb b/code/services-application/search-service/src/main/resources/templates/search/parts/site-info-index.hdb index 346f4416..07a3ef08 100644 --- a/code/services-application/search-service/src/main/resources/templates/search/parts/site-info-index.hdb +++ b/code/services-application/search-service/src/main/resources/templates/search/parts/site-info-index.hdb @@ -15,6 +15,7 @@
Index State: {{state}}
+ Node Affinity: {{nodeAffinity}}
Pages Known: {{pagesKnown}}
Pages Crawled: {{pagesFetched}}
Pages Indexed: {{pagesIndexed}}