in webindex/modules/core/src/main/java/webindex/core/IndexClient.java [162:190]
public Pages getPages(String domain, String next, int pageNum) {
DomainStats stats = getDomainStats(domain);
Pages pages = new Pages(domain, pageNum);
pages.setTotal(stats.getTotal());
String row = "d:" + URL.reverseHost(domain);
String cf = Constants.RANK;
try {
Scanner scanner = conn.createScanner(accumuloIndexTable, Authorizations.EMPTY);
Pager pager = Pager.build(scanner, Range.prefix(row + ":"), PAGE_SIZE, entry -> {
if (entry.isNext()) {
pages.setNext(entry.getKey().getRowData().toString().split(":", 3)[2]);
} else {
String url =
URL.fromUri(entry.getKey().getRowData().toString().split(":", 4)[3]).toString();
Long count = Long.parseLong(entry.getValue().toString());
pages.addPage(url, count);
}
});
if (next.isEmpty()) {
pager.read(pageNum);
} else {
pager.read(new Key(row + ":" + next, cf, ""));
}
} catch (TableNotFoundException e) {
log.error("Table {} not found", accumuloIndexTable);
}
return pages;
}