[英]Nutch does not Index on Elasticsearch correctly using Mongodb
我正在运行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个软件创建Web爬行工具。
一旦我使用来自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,因为我不喜欢它。
谢谢!
乔
经过很多麻烦我得到了它的工作。 我最终使用ES 1.4.4,nutch 2.3.1,mongodb 3.10和JDK 8。
我所经历的许多问题在许多其他问题中仍未得到解决:
./bin/nutch index -all
(在你获取和解析之后)。 如果遇到solr错误,则nutch-site.xml中没有正确的索引功能。 拜托,拜托,如果您遇到任何问题,请告诉我。 我花了将近两周的时间来计算这个构建,我知道这可能会令人难以置信地令人沮丧。 如果你遇到问题,请告诉我或者发帖,我相信我可以帮助你解决这些问题。
乔
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'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.