我正在运行Nutch 2.3.1,Mongodb 3.2.9和Elasticsearch 2.4.1。我已经学习了本教程:
https://qbox.io/blog/scraping-the-web-with-nutch-for-elasticsearch
和本教程:
http://www.aossama.com/search-engine-with-apache-nutch-mongodb-and-elasticsearch/
使用上述3个软件创建网络抓取工具。
一旦我使用来自nutch的index命令,一切都很有效,直到索引...:
# bin/nutch index elasticsearch -all
这种情况发生了:
IndexingJob: starting
Active IndexWriters :
ElasticIndexWriter
elastic.cluster : elastic prefix cluster
elastic.host : hostname
elastic.port : port (default 9300)
elastic.index : elastic index command
elastic.max.bulk.docs : ealstic bulk index doc counts. (default 250)
elastic.max.bulk.size : elastic bulk index length. (default 2500500 ~2.5MB)
IndexingJob: done.
我的nutch-site.xml:
<configuration>
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.mongodb.store.MongoStore</value>
<description>Default class for storing data</description>
</property>
<property>
<name>http.agent.name</name>
<value>AOssama Crawler</value>
</property>
<property>
<name>plugin.includes</name>
<value>protocol-(http|httpclient)|urlfilter-regex|index-(basic|more)|query-(basic|site|url|lang)|indexer-elastic|nutch-extensionpoints|parse-(text|html|msexcel|msword|mspowerpoint|pdf)|summary-basic|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-(html|tika|metatags)|index-(basic|anchor|more|metadata)</value>
</property>
<property>
<name>elastic.host</name>
<value>localhost</value>
</property>
<property>
<name>elastic.cluster</name>
<value>aossama</value>
</property>
<property>
<name>elastic.index</name>
<value>nutch</value>
</property>
<property>
<name>parser.character.encoding.default</name>
<value>utf-8</value>
</property>
<property>
<name>http.content.limit</name>
<value>6553600</value>
</property>
</configuration>
我还查看了ElasticIndexWriter.java代码,并在第250行附近注意到调用ElasticIndexWriter的类。我现在正在进一步深入研究,但我完全不知道为什么它不能与Mongo合作。我即将放弃并尝试使用Hbase,因为我不喜欢它。
谢谢!
乔
答案 0 :(得分:0)
经过很多麻烦后我才开始工作。我最终使用ES 1.4.4,nutch 2.3.1,mongodb 3.10和JDK 8.
我所经历的许多问题在许多其他问题上都没有得到解答:
./bin/nutch index -all
(在您获取并解析之后)。如果遇到solr错误,则nutch-site.xml中没有正确的索引功能。 拜托,拜托,如果您遇到任何问题,请告诉我。我花了将近两周的时间来计算这个构建,我知道这可能会令人难以置信地令人沮丧。如果你遇到问题,请告诉我或者发帖,我相信我可以帮助你解决这些问题。
乔
答案 1 :(得分:0)
Nutch支持elasticsearch 2.2.0和mongodb通过分支中的gora插件命名为2.x(对于mongo后端,你应该在$ NUTCH_HOME / ivy / ivy.xml中打开)
<dependency org="org.apache.gora" name="gora-mongodb" rev="0.6.1" conf="*->default" />
除此之外,还有如何在$ NUTCH_HOME / src / plugin / indexer-elastic2 / howto_upgrade_es.txt中升级elasticsearch的信息
在$ NUTCH_HOME / src / plugin / indexer-elastic2 / ivy.xml中升级elasticsearch依赖项
- 醇>
升级src / plugin / indexer-elastic2 / plugin.xml中的Elasticsearch特定依赖项 要获取依赖项列表及其版本,请执行:
$ ant -f ./build-ivy.xml
$ ls lib | sed 's/^/ <library name="/g' | sed 's/$/"\/>/g'