10

我最近开始研究 nutch,我试图了解它是如何工作的。据我所知,Nutch 基本上是用来爬网的,而 solr/Lucene 是用来索引和搜索的。但是当我阅读有关 nutch 的文档时,它说 nutch 也可以进行倒排索引。它是在内部使用 Lucene 来进行索引,还是有其他一些用于索引的库?如果它使用 solr/lucene 进行索引,那么为什么需要像 nutch 教程所说的那样使用 nutch 配置 solr?

默认情况下是否完成索引。我的意思是我运行这个命令开始爬行。索引是否在这里发生?

bin/nutch crawl urls -dir crawl -depth 3 -topN 5

或者索引仅在这种情况下发生。(根据教程:如果您已经设置了 Solr 核心并希望对其进行索引,则需要将 -solr 参数添加到您的爬网命令中,例如)

bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5
4

2 回答 2

5

看看这里可能会有用。当您运行第一个命令时:

bin/nutch crawl urls -dir crawl -depth 3 -topN 5

您正在爬行,这意味着 nutch 将创建自己的内部数据,包括:

  • 爬虫数据库
  • 链接数据库
  • 一组段

您可以在以下目录中看到它们,这些目录是在您运行 crawl 命令时创建的:

  • 抓取/crawldb
  • 抓取/链接数据库
  • 抓取/细分

您可以将这些数据视为某种数据库,其中 nutch 存储爬网数据。这与倒排索引无关。

在爬网过程之后,您可以在 Solr 实例上索引您的数据。您可以抓取然后索引运行单个命令,这是您问题中的第二个命令:

bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5

否则,您可以在 crawl 命令之后运行第二个命令,专门用于索引到 Solr,但您必须提供 crawldb、linkdb 和段的路径:

bin/nutch solrindex http://localhost:8983/solr/ crawldb -linkdb crawldb/linkdb crawldb/segments/*
于 2012-06-01T09:38:51.783 回答
4

您可能会对旧版 Nutch 版本和相关的在线文档感到困惑。最初它创建了自己的索引并拥有自己的网络搜索界面。使用 Solr 成为需要额外配置和摆弄的选项。从 1.3 开始,索引和服务器部分被剥离,现在假设 Nutch 将使用 Solr。

于 2012-10-31T04:10:30.700 回答