MCPcopy Create free account
hub / github.com/apache/nutch / map

Method map

src/java/org/apache/nutch/crawl/DbUpdateMapper.java:55–98  ·  view source on GitHub ↗
(String key, WebPage page, Context context)

Source from the content-addressed store, hash-verified

53 private WebPageWritable pageWritable;
54
55 @Override
56 public void map(String key, WebPage page, Context context)
57 throws IOException, InterruptedException {
58 if (Mark.GENERATE_MARK.checkMark(page) == null) {
59 if (LOG.isDebugEnabled()) {
60 LOG.debug("Skipping " + TableUtil.unreverseUrl(key)
61 + "; not generated yet");
62 }
63 return;
64 }
65
66 String url = TableUtil.unreverseUrl(key);
67
68 scoreData.clear();
69 Map<CharSequence, CharSequence> outlinks = page.getOutlinks();
70 addScoreData(page, outlinks);
71
72 Map<CharSequence, CharSequence> sitemaps = page.getSitemaps();
73 addScoreData(page, sitemaps);
74
75 // TODO: Outlink filtering (i.e. "only keep the first n outlinks")
76 try {
77 scoringFilters.distributeScoreToOutlinks(url, page, scoreData,
78 (outlinks == null ? 0 : outlinks.size()));
79 } catch (ScoringFilterException e) {
80 LOG.warn("Distributing score failed for URL: " + key + " exception:"
81 + StringUtils.stringifyException(e));
82 }
83
84 urlWithScore.setUrl(key);
85 urlWithScore.setScore(Float.MAX_VALUE);
86 pageWritable.setWebPage(page);
87 nutchWritable.set(pageWritable);
88 context.write(urlWithScore, nutchWritable);
89
90 for (ScoreDatum scoreDatum : scoreData) {
91 String reversedOut = TableUtil.reverseUrl(scoreDatum.getUrl());
92 scoreDatum.setUrl(url);
93 urlWithScore.setUrl(reversedOut);
94 urlWithScore.setScore(scoreDatum.getScore());
95 nutchWritable.set(scoreDatum);
96 context.write(urlWithScore, nutchWritable);
97 }
98 }
99
100 private void addScoreData(WebPage page, Map<CharSequence, CharSequence> map) {
101 if (map != null) {

Callers 1

constructRealmMethod · 0.45

Calls 15

unreverseUrlMethod · 0.95
addScoreDataMethod · 0.95
reverseUrlMethod · 0.95
checkMarkMethod · 0.80
clearMethod · 0.80
sizeMethod · 0.80
setWebPageMethod · 0.80
writeMethod · 0.65
getUrlMethod · 0.65
getOutlinksMethod · 0.45
getSitemapsMethod · 0.45

Tested by

no test coverage detected