在nutch弹性索引器中添加自定义字段和类型

时间:2016-11-04 09:03:30

标签: elasticsearch web-crawler nutch

我在nutch弹性索引器上运行测试运行。我想添加一些自定义字段和自定义类型名(而不是" doc"),可以作为索引作业的参数。我理解 NutchDocument 是负责设置字段名称和元数据的类,但无法确定nutch创建此实例的位置并设置值。或者还有其他办法吗?请帮忙

1 个答案:

答案 0 :(得分:3)

您需要(将新字段添加到ES索引中)是编写自定义索引过滤器(假设您要添加的字段的值已经通过某些解析过滤器从内容中提取,否则您&# 39; ll需要一个解析过滤器和索引过滤器)。

nutch indexing plugin在上一张图片中,您可以看到有关索引过滤器如何在Nutch中工作的简单图表。或许this post可以帮到你。底线是您在实现NutchDocument接口的索引过滤器中的IndexingFilter类中添加字段。您添加到NutchDocument中的这些字段会被相应的插件自动转换为您的索引后端(Solr / ES)。

至于在type字段中进行操作,您需要在type课程中提取/添加NutchDocument字段,请查看https://github.com/apache/nutch/blob/master/src/plugin/indexer-elastic/src/java/org/apache/nutch/indexwriter/elastic/ElasticIndexWriter.java#L169-L171"doc"是默认类型,如果您无法提供。因此,在自定义索引过滤器中,您将添加逻辑以动态设置type字段,这将在索引阶段由ElasticIndexWriter使用。