You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "ned@bcit" <ne...@yahoo.com> on 2007/11/06 20:29:55 UTC
adding dmoz meta data to index.
Hi All,
I need to add dmoz meta-data to my index. I see some people have commented
about it but I didn't find a solution. Can someone read the steps below and
give me some hints or pointers? This is the code that I added:
1) injector.java: datum.setCategory("dmoz-cat");
2) crawldatum.java: add a new private data 'category' along with set and get
methods for it.
3) BasicIndexingFilter.java: doc.add(new Field("category",
datum.getCategory(),Field.Store.YES, Field.Index.UN_TOKENIZED));
However, the code breaks at the third step ( when I run index ) saying that
category is null.
Another way I was thinking about is whether I am supposed to add the
category to the metadata in CrawlDatum. In that case do I have to modify the
readFields() method on CrawlDatum?
Thanks in advance.
--
View this message in context: http://www.nabble.com/adding-dmoz-meta-data-to-index.-tf4760430.html#a13614050
Sent from the Nutch - Dev mailing list archive at Nabble.com.
Re: adding dmoz meta data to index.
Posted by Sebastian Steinmetz <s....@mederi-research.de>.
Hello,
i'm implementing something similiar at the moment. i'm feeding nutch
with a url-list with an annotated ID. this ID must go into the lucene
index, so that i can do a 1:many relation between a database and the
crawled pages.
i've added the custom data into the meta-data field in the datum. see
InjectMapper:
// add myID to the crawlDatum as metaData
MapWritable meta = new MapWritable();
meta.put(new Text("myID"), new Text(myID));
datum.setMetaData(meta);
now the ID is saved in the CrawlDatum-Object. On the indexing-side
i've written a new plugin index-id, but it's simply a modified index-
basic ;) the essence is:
MapWritable meta = datum.getMetaData();
String id = ((Text)meta.get(new Text("myID"))).toString();
if (id != "") {
Field myid = new Field("myid", id, Field.Store.YES,
Field.Index.UN_TOKENIZED);
mederiid.setBoost(5.0f);
doc.add(myid);
LOG.info("The following ID was added to the index: " + myid);
}
So, that's where i stand at the moment. Now i have to build a custom
query interface, so that i can search in my MySQL-database and enrich
the results with my crawled sites.
maybe we can join forces. feel free to contact me :) greetings,
Sebastian Steinmetz