(search-service) Show node affinity in site info tab

This commit is contained in:
Viktor Lofgren 2023-10-25 12:44:48 +02:00
parent 84cdac83d6
commit 5de41a3a7f
3 changed files with 21 additions and 1 deletions

View File

@ -16,6 +16,7 @@ public class DomainInformation {
int pagesIndexed;
int incomingLinks;
int outboundLinks;
int nodeAffinity;
double ranking;
boolean suggestForCrawling;

View File

@ -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()) {

View File

@ -15,6 +15,7 @@
<fieldset>
<legend>Index</legend>
State: {{state}}<br/>
Node Affinity: {{nodeAffinity}} </br>
Pages Known: {{pagesKnown}} <br/>
Pages Crawled: {{pagesFetched}} <br/>
Pages Indexed: {{pagesIndexed}} <br/>