You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@nutch.apache.org by Nancy Snyder <ns...@pf-cvl.net> on 2006/12/05 22:35:54 UTC

need to get data from segments

Previously I was using nutch-0.7.2 and was able to use SegmentReader to 
read a specific segment
and then use the next method to read values from the open readers 
(FetcherOutput, Content, ParseText, and ParseData).

segmentReader = new SegmentReader(nfs, allSegmentFiles[i],
                        true, true, true, true);
while(segmentReader.next(fo, co, pt, pd)) {
...
}

 From using the fo (FetcherOutput), I could get the fetch date 
(fo.getFetchDate()).
 From using the pd (ParseData), I could get the title (fd.getTitle()).
 From using the pt (ParseText), I could get the parsed text (ft.getText()).

Now I trying to upgrade to nutch 0.8.x and I have downloaded nutch-0.8.1.
I am looking at the API and do not see how to read the data from the 
crawled segments.
SegmentReader has changed and no longer has next.  I see a get(Path 
segment, UTF8 key, Writer writer, Map results)
but don't have an code example.

I want to loop thru the records (or documents) in a segment and get the 
data (url, title, parsed text).

Can anyone, show me how to do this?

Nancy


Re: need to get data from segments

Posted by Andrzej Bialecki <ab...@getopt.org>.
Nancy Snyder wrote:
> Previously I was using nutch-0.7.2 and was able to use SegmentReader 
> to read a specific segment
> and then use the next method to read values from the open readers 
> (FetcherOutput, Content, ParseText, and ParseData).
>
> segmentReader = new SegmentReader(nfs, allSegmentFiles[i],
>                        true, true, true, true);
> while(segmentReader.next(fo, co, pt, pd)) {
> ...
> }
>
> From using the fo (FetcherOutput), I could get the fetch date 
> (fo.getFetchDate()).
> From using the pd (ParseData), I could get the title (fd.getTitle()).
> From using the pt (ParseText), I could get the parsed text 
> (ft.getText()).
>
> Now I trying to upgrade to nutch 0.8.x and I have downloaded nutch-0.8.1.
> I am looking at the API and do not see how to read the data from the 
> crawled segments.
> SegmentReader has changed and no longer has next.  I see a get(Path 
> segment, UTF8 key, Writer writer, Map results)
> but don't have an code example.
>
> I want to loop thru the records (or documents) in a segment and get 
> the data (url, title, parsed text).
>
> Can anyone, show me how to do this?

SegmentReader is itself an example how to use this API , although most 
operations are not performed directly - instead the data is submitted to 
a map-reduce job. Although the method that you mention (get) does 
illustrate how to do it without running a map-reduce job.

Please see also http://issues.apache.org/jira/browse/HADOOP-175 for 
utilities that allow to read directly data from each segment part, 
without running a map-reduce job.

-- 
Best regards,
Andrzej Bialecki     <><
 ___. ___ ___ ___ _ _   __________________________________
[__ || __|__/|__||\/|  Information Retrieval, Semantic Web
___|||__||  \|  ||  |  Embedded Unix, System Integration
http://www.sigram.com  Contact: info at sigram dot com