获取时的 Apache Nutch 2.3.1 扩展点
Apache Nutch 2.3.1 extension point at fetch time
我已成功配置 Hadoop (2.x)、Hbase 和 Nutch 2.3.1。我还抓取了一些示例页面也用于测试。现在我必须使用开源工具 cld2 对特定语言进行集中爬取。如果抓取的文档不包含该特定语言,则不应保存该文档(在 Hbase 中),也不应将其索引到 Solr。在 Nutch WIKI 中,获取时没有给出扩展点。还有其他可能的方法来完成这项工作吗?
目前 Nutch 附带的 fetchers 实现中没有扩展点。如果您考虑一下,您需要获取和解析文档(以提取语言),然后您可以编写自己的 IndexingFilter
来检查文档的语言并决定是否要索引它或不是。
这个自己写应该不难吧。另一方面,对于 Nutch 1.x,我们已经有了这个 PR https://github.com/apache/nutch/pull/219,它可以很容易地移植到 2.x 上工作,然后你只需要正确的 JEXL 表达式。
我们已经有了 Nutch 附带的 language-identifier
插件 2.x 您可以看看它是如何实现的,并添加您自己的与 cld2 的集成作为一个不同的插件。如果您想使用 cld2,那么您需要编写一些解析器(连同索引器)来检测内容中的语言。
我已成功配置 Hadoop (2.x)、Hbase 和 Nutch 2.3.1。我还抓取了一些示例页面也用于测试。现在我必须使用开源工具 cld2 对特定语言进行集中爬取。如果抓取的文档不包含该特定语言,则不应保存该文档(在 Hbase 中),也不应将其索引到 Solr。在 Nutch WIKI 中,获取时没有给出扩展点。还有其他可能的方法来完成这项工作吗?
目前 Nutch 附带的 fetchers 实现中没有扩展点。如果您考虑一下,您需要获取和解析文档(以提取语言),然后您可以编写自己的 IndexingFilter
来检查文档的语言并决定是否要索引它或不是。
这个自己写应该不难吧。另一方面,对于 Nutch 1.x,我们已经有了这个 PR https://github.com/apache/nutch/pull/219,它可以很容易地移植到 2.x 上工作,然后你只需要正确的 JEXL 表达式。
我们已经有了 Nutch 附带的 language-identifier
插件 2.x 您可以看看它是如何实现的,并添加您自己的与 cld2 的集成作为一个不同的插件。如果您想使用 cld2,那么您需要编写一些解析器(连同索引器)来检测内容中的语言。