我正在为nutch编写一个插件,它解析文本并根据文本创建一个新字段。为此,我正在编写的插件实现了IndexingFilter。我遵循here中的教程(类似于nutch wiki中的教程)。我完全按照提到的方式进行了跟踪,并且我成功地构建了插件。但是我没有看到添加新索引。嗯,我是初学者,所以我不确定我是否正在寻找合适的地方。
我使用命令
进行了正常的抓取bin/nutch crawl urls -dir crawl -depth 3 -topN 5
然后我使用命令
检查了crawldb和segmentbin/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>
其他代码与上述链接相同。
答案 0 :(得分:2)
检查nutch-default.xml中plugin.include的值是否包含myPlugin,如下所示:
为myplugin |协议HTTP | urlfilter正则表达式| parse-(文本| HTML | JS)|指数碱性|查询 - (基本|站点| URL)|摘要碱性|记分OPIC | urlnormalizer-(通过|正则表达式|基本)
PS: 如果你有解决方案,你可以而且应该回答你自己的问题,在此之后添加一些评论。