我是 Nutch (2.2.1) 的新手,并尝试使用最新版本的 Gora (0.5) 在 Cygwin/Windows 7 上运行它,这样我就可以将数据保存到 MongoDB (2.6) 数据存储区。我更改了 Nutch-Site.XML 文件以包含我的 Mongo 属性,但我对这里需要的 gora-mongodb.mapping.XML 属性文件有点困惑。只是想知道我是否需要:
1) 在我在 gora-mongodb.mapping 文件的类名属性中指定的 Nutch/Gora 项目中创建一个 Java 类,还是 Gora 会为我创建这个?文档似乎不是很清楚。
2) 我在我的 apache-nutch-2.2.1\runtime\local\conf 文件夹中创建了一个示例文件,并添加了我的 MongoDB 集合的名称。当我运行 Nutch 时,出现以下错误:
$ ./nutch crawl urls -dir testCrawl -depth 3 -topN 5
cygpath: can't convert empty path
Exception in thread "main" org.apache.gora.util.GoraException: java.lang.IllegalStateException: A collection is not specified
at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:167)
at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:135)
at org.apache.nutch.storage.StorageUtils.createWebStore(StorageUtils.java:75)
at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:221)
at org.apache.nutch.crawl.Crawler.runTool(Crawler.java:68)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:136)
at org.apache.nutch.crawl.Crawler.run(Crawler.java:250)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org.apache.nutch.crawl.Crawler.main(Crawler.java:257)
Caused by: java.lang.IllegalStateException: A collection is not specified
at org.apache.gora.mongodb.store.MongoMappingBuilder.build(MongoMappingBuilder.java:77)
at org.apache.gora.mongodb.store.MongoStore.initialize(MongoStore.java:168)
at org.apache.gora.store.DataStoreFactory.initializeDataStore(DataStoreFactory.java:102)
at org.apache.gora.store.DataStoreFactory.createDataStore(DataStoreFactory.java:161)
... 8 more
任何有关此文件的帮助或说明将不胜感激。