nutch 抓取文档的弹性搜索映射中面临的问题
Facing issue in elasticsearch mapping of nutch crawled document
在使用 nutch 和 elasticsearch 进行抓取时遇到一些严重的问题。
我们的应用程序中有两个数据存储引擎。
MySql
弹性搜索
假设我在 mysql 数据库的 urls table 中存储了 10 urls。现在我想在运行时间内从table中获取这些urls,并将它们写入seed,txt以供爬取。我把这些url一口气写进了need.txt。现在我的爬行开始了,然后我在 elasticsearch 中将这些文档编入索引(比方说 url 索引)。但我想在 elasticsearch 索引中维护一个引用,以便我可以获取特定 url 的已爬网详细信息以用于分析目的,因为 elasticsearch 索引仅包含已爬网数据。例如
我在 mysql 中的 table 结构是:
Table Url:
id url
1 www.google.com
我想要的 Elasticsearch 索引映射是:
索引url:
{
_id: "www.google.com",
类型:"doc",
内容:"Hello world"
url_id : 1 ,
.
.
.
}
这里url_id是url里面爬取的url的id列的字段值 table.
我可以为每个 url 创建单独的索引,但该解决方案并不理想,因为在一天结束时我将拥有多个索引。那么爬取之后如何实现呢。我是否必须修改弹性搜索索引器。我正在使用 nutch 1.12 和 elastichsearch 1.7.1。任何帮助将不胜感激。
您应该将 url_id 作为种子列表中的附加元数据传递,并使用 urlmeta 和索引元数据插件,以便将 Key/Value 传递到外链(如有必要)或至少可用于索引。
有关如何索引元标记的说明,请参阅 Nutch WIKI。
在使用 nutch 和 elasticsearch 进行抓取时遇到一些严重的问题。
我们的应用程序中有两个数据存储引擎。
MySql
弹性搜索
假设我在 mysql 数据库的 urls table 中存储了 10 urls。现在我想在运行时间内从table中获取这些urls,并将它们写入seed,txt以供爬取。我把这些url一口气写进了need.txt。现在我的爬行开始了,然后我在 elasticsearch 中将这些文档编入索引(比方说 url 索引)。但我想在 elasticsearch 索引中维护一个引用,以便我可以获取特定 url 的已爬网详细信息以用于分析目的,因为 elasticsearch 索引仅包含已爬网数据。例如
我在 mysql 中的 table 结构是:
Table Url:
id url
1 www.google.com
我想要的 Elasticsearch 索引映射是:
索引url:
{ _id: "www.google.com", 类型:"doc", 内容:"Hello world" url_id : 1 , . . . }
这里url_id是url里面爬取的url的id列的字段值 table.
我可以为每个 url 创建单独的索引,但该解决方案并不理想,因为在一天结束时我将拥有多个索引。那么爬取之后如何实现呢。我是否必须修改弹性搜索索引器。我正在使用 nutch 1.12 和 elastichsearch 1.7.1。任何帮助将不胜感激。
您应该将 url_id 作为种子列表中的附加元数据传递,并使用 urlmeta 和索引元数据插件,以便将 Key/Value 传递到外链(如有必要)或至少可用于索引。
有关如何索引元标记的说明,请参阅 Nutch WIKI。