为Nutch编写插件(索引)

时间:2012-06-01 15:53:25

标签: nutch

我正在为nutch编写一个插件,它解析文本并根据文本创建一个新字段。为此,我正在编写的插件实现了IndexingFilter。我遵循here中的教程(类似于nutch wiki中的教程)。我完全按照提到的方式进行了跟踪,并且我成功地构建了插件。但是我没有看到添加新索引。嗯,我是初学者,所以我不确定我是否正在寻找合适的地方。

我使用命令

进行了正常的抓取
bin/nutch crawl urls -dir crawl -depth 3 -topN 5

然后我使用命令

检查了crawldb和segment
bin/nutch readdb crawl/crawldb/ -dump crawlContent
bin/nutch readseg -dump crawl/segments/* segmentAllContent

我没有看到这里添加的新字段。我做得对吗?或者我需要运行任何命令。提前谢谢。

代码:

我复制了urlmeta插件的目录结构并进行了一些更改。

plugin.xml中:

<?xml version="1.0" encoding="UTF-8"?>
   <plugin id="myPlugin" name="Add Field to Index"
      version="1.0.0" provider-name="your name">

    <runtime>
       <library name="myPlugin.jar">
     <export name="*"/>
       </library>
    </runtime>

    <extension id="org.apache.nutch.indexer.myPlugin"
       name="Add Field to Index"
       point="org.apache.nutch.indexer.IndexingFilter">
      <implementation id="myPlugin"
        class="org.apache.nutch.indexer.AddField"/>
    </extension>
  </plugin>

的build.xml:

<?xml version="1.0" encoding="UTF-8"?>
  <project name="myPlugin" default="jar">
     <import file="../build-plugin.xml"/>
  </project>

其他代码与上述链接相同。

1 个答案:

答案 0 :(得分:2)

检查nutch-default.xml中plugin.include的值是否包含myPlugin,如下所示:

为myplugin |协议HTTP | urlfilter正则表达式| parse-(文本| HTML | JS)|指数碱性|查询 - (基本|站点| URL)|摘要碱性|记分OPIC | urlnormalizer-(通过|正则表达式|基本)

PS: 如果你有解决方案,你可以而且应该回答你自己的问题,在此之后添加一些评论。