2012-09-09 76 views
4

我安装了nutch和solr来抓取网站并在其中搜索;正如你所知道的,我们可以将网页的meta标签索引到nutch的parse meta标签插件(http://wiki.apache.org/nutch/IndexMetatags)现在我想知道是否有任何方法可以将另一个html标签Solr的不是元(插件或反正)是这样的:如何解析html与nutch和索引特定的标签solr?

事实上,我想添加一个字段到Solr(东西),在这个页面有“我的特定标签”的价值。

有什么想法吗?

回答

0

您可能想要检查Nutch Plugin哪些应该允许您从网页中提取元素。

+0

为什么downvote?请添加评论 – Jayendra

3

我为自己喜欢的东西制作了自己的插件。 将NutchDocument映射到SolrDocument的配置文件位于$ NUTCH_HOME/conf/solrindex-mapping.xml中。在这里你可以添加你自己的标签。但是你仍然必须在某处填写自己的标签。

下面是一些提示,以插件:

  • 阅读http://wiki.apache.org/nutch/WritingPluginExample,在这里你可以找到如何让你的插件很简单地在你的插件
  • 延长ParseFilterIndexingFilter。
  • YourParseFilter可以使用NodeWalker找到特定的div
  • 您解析信息在YourIndexingFilter投入页面的元数据这样

    page.putToMetadata(new Utf8("yourKEY"), ByteBuffer.wrap(YourByteArrayParsedFromMetaData));

  • 从添加元数据page(page.getMetadata)to NutchDocument

    doc.add("your_specific_tag", value);

  • 最重要!!!!!

  • your_specific_tag到的Fileds:

    • Solr的配置文件schema.xml中(并重新启动SOLR)是

    字段名= “your_specific_tag” TYPE =”字符串“stored =”true“indexed =”true“

    • Nutch的配置文件schema.xml中(不知道是不是真的neccessary)
    • Nutch的配置文件solrindex映射。XML

    场DEST = “your_specific_tag” 来源= “your_specific_tag”

+0

我也这样做了,但不知何故,某些元数据在进程中丢失了。我在IndexingFilter,getMetadata()中查找它。get(“my_tag”)返回null –