小编典典

坚果爬网文档的Elasticsearch映射中面临的问题

elasticsearch

在使用nutch和elasticsearch进行爬网时面临一些严重的问题。

我们的应用程序中有两个数据存储引擎。

  1. 的MySQL

  2. elasticsearch

可以说我在mysql
db的urls表中存储了10个url。现在,我想在运行时从表中获取这些url,并将其写入seed.txt以进行爬网。我已经将所有这些网址一次性写入了txt。现在,我开始抓取,然后将这些文档在elasticsearch内的索引中索引(可以说是URL索引)。但是我想在Elasticsearch索引中维护一个引用,以便我可以获取特定URL的已爬网详细信息以进行分析,因为Elasticsearch索引仅包含已爬网数据。对于前。

我在mysql中的表结构是:

表格网址:

网址


1 www.google.com

我想要的Elasticsearch索引映射是:

索引网址:

{_id:“ www.google.com”,键入:“ doc”,内容:“ Hello world” url_id:1,。。。}

此处url_id是urls表中已爬网url的id列的字段值。

我可以为每个URL创建单独的索引,但是该解决方案并不理想,因为最终我将拥有多个索引。那么如何在爬网之后实现这一目标。我是否需要修改elasticsearch索引器。我正在使用nutch
1.12和elastichsearch 1.7.1。任何帮助将不胜感激。


阅读 354

收藏
2020-06-22

共1个答案

小编典典

您应该在种子列表中将url_id作为附加元数据传递,并使用urlmeta和index-
metadata插件,以便将键/值传递到出站(如有必要)或至少可用于索引。

有关如何索引元标记的说明,请参见Nutch WIKI

2020-06-22