2012-09-09 75 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 –