gora-mongodb.mapping.XML属性文件

时间:2014-12-13 15:23:17

标签: nutch gora

我是Nutch(2.2.1)的新手并试图在Cygwin / Windows 7上使用最新版本的Gora(0.5)运行它,因此我可以将数据保存到MongoDB(2.6)数据存储区。我更改了Nutch-Site.XML文件以包含我的Mongo属性,但我对gora-mongodb.mapping.XML属性文件here有点困惑。只是想知道我需要:

1)在Nutch / Gora项目中创建一个Java类,我在gora-mongodb.mapping文件中的class-name属性中指定,或者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

对此文件的任何帮助或澄清将不胜感激。

1 个答案:

答案 0 :(得分:0)

nutch/conf中需要2个文件:

  1. gora.properties:您宣布将使用mongodb后端。
  2. gora-mongodb-mapping.xml(注意破折号,而不是你写的点):在Gora实体中的名称和数据存储区中的字段之间创建映射。
  3. 您正在使用的版本我真的认为它不准备与Gora 0.5一起使用,但请试一试。将gora-mongodb-mapping.xmlNutch-2.3-SNAPSHOT复制到nutch/conf/

    如果不起作用,请尝试使用Nutch-2.3-SNAPSHOT而不是2.2.1。