nutch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ken Krugler <kkrugler_li...@transpac.com>
Subject Re: Nutch Topical / Focused Crawl
Date Thu, 02 Apr 2009 15:10:32 GMT
>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

Mime
View raw message