Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 在nutch elastic indexer中添加自定义字段和类型_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Web Crawler_Nutch - Fatal编程技术网 elasticsearch 在nutch elastic indexer中添加自定义字段和类型,elasticsearch,web-crawler,nutch,elasticsearch,Web Crawler,Nutch" /> elasticsearch 在nutch elastic indexer中添加自定义字段和类型,elasticsearch,web-crawler,nutch,elasticsearch,Web Crawler,Nutch" />

elasticsearch 在nutch elastic indexer中添加自定义字段和类型

elasticsearch 在nutch elastic indexer中添加自定义字段和类型,elasticsearch,web-crawler,nutch,elasticsearch,Web Crawler,Nutch,我正在nutch elastic indexer上运行测试。我想添加一些自定义字段和自定义类型名(而不是“doc”),它们可以作为索引作业的参数提供。我知道NutchDocument是负责设置字段名和元数据的类,但无法确定nutch在何处创建此实例并设置值。或者有没有别的办法。请帮助您需要(将新字段添加到ES索引中)编写一个自定义索引过滤器(假设您要添加的字段的值已由某个解析过滤器从内容中提取,否则您将需要解析过滤器和索引过滤器) 在上一张图中,您可以看到一个简单的图表,说明Nutch中的索引过

我正在nutch elastic indexer上运行测试。我想添加一些自定义字段和自定义类型名(而不是“doc”),它们可以作为索引作业的参数提供。我知道NutchDocument是负责设置字段名和元数据的类,但无法确定nutch在何处创建此实例并设置值。或者有没有别的办法。请帮助

您需要(将新字段添加到ES索引中)编写一个自定义索引过滤器(假设您要添加的字段的值已由某个解析过滤器从内容中提取,否则您将需要解析过滤器和索引过滤器)

在上一张图中,您可以看到一个简单的图表,说明Nutch中的索引过滤器是如何工作的。也许会对你有帮助。底线是在索引过滤器中的
NutchDocument
类中添加字段,该过滤器实现了
IndexingFilter
接口。添加到
NutchDocument
中的这些字段将由相应的插件自动转换为索引后端(Solr/ES)


至于更改
type
字段,您需要将
type
字段提取/添加到
NutchDocument
类中,请查看<代码>“doc”是您无法提供的默认类型。因此,在自定义索引过滤器中,您将添加逻辑来动态设置
类型
字段,这将由
ElasticIndexWriter
在索引阶段使用

谢谢你的回答。:)我还有一个问题。我正在使用NutchRESTAPI调用爬网操作。那么,是否有方法将一些选项作为参数传递给索引操作,然后根据这些参数进行索引?我没有看到任何在索引过滤器上检索参数的选项。有什么关于这个的吗?嗨@Sachin,你能再详细一点吗?我认为一般的答案是,您不能将任何信息传递到索引操作中。在种子文件中,您可以将自定义元数据添加到种子文件中,但没有关于索引器应如何响应此信息的逻辑(索引除外)。例如,您可以编写自己的示例,看看如何使用检测到的mime类型来决定是否应该为文档编制索引。如果您的自定义
索引过滤器
返回
null
()在
filter
方法中,文档将被忽略/从索引中跳过如果我没有弄错,提要插件将在RSS提要中找到的字段作为ES中的独立文档进行索引,但它不会获取内容(因此您只能获取摘要)但是如果您使用
parse tika
插件,那么在提要中找到的URL将被视为大纲链接,并在后续步骤中获取。