Hi @ all,

I'd like to turn Nutch into an focused / topical crawler. It's a part of my final year thesis. Further, I'd like that others can contribute from my work. I started to analyze the code and think that I found the right peace of code. I just wanted to know if I am on the right track. I think the right peace of code to implement a decision to fetch further is in the method output of the Fetcher class every time we call the collect method of the OutputCollector object.

private ParseStatus output(Text key, CrawlDatum datum, Content content,
ProtocolStatus pstatus, int status) {
...
output.collect(...);
...
}

Would you mind to let me know the the best way to turn this decision into an plugin? I was thinking to go a similar way like the scoring filters. Thanks in advance.

Don't have the code in front of me right now, but we did something like this for a focused tech pages crawl with Krugle a few years back. Our goal was to influence the OPIC scores to ensure that pages we thought were likely to be "good" technical pages got fetched sooner.

Assuming you're using the scoring-opic plugin, then you'd create a custom ScoringFilter that gets executed after the scoring-opic plugin.

But the actual process of hooking every up was pretty complicated and error prone, unfortunately. We had to define our own keys for storing our custom scores inside of the parse_data Metadataa, the content Metadata, and the CrawlDB Metadata.

And we had to implement following methods for our scoring plugin:

setConf()
injectScore()
initialScore();
generateSortValue();
passScoreBeforeParsing();
passScoreAfterParsing();
shouldHarvestOutlinks();
distributeScoreToOutlink();
updateDbScore();
indexerScore();

-- Ken
--
Ken Krugler
+1 530-210-6378

Reply via email to