逐步索引到ApacheSolr
我已经开始使用ApacheNutch进行爬行,并且一直遵循ApacheWikiNutch教程中显示的步骤。我能够在端口8983设置solr服务器,如说明所示。我现在尝试使用上述工具编制索引,但出现以下错误:逐步索引到ApacheSolr,apache,solr,Apache,Solr,我已经开始使用ApacheNutch进行爬行,并且一直遵循ApacheWikiNutch教程中显示的步骤。我能够在端口8983设置solr服务器,如说明所示。我现在尝试使用上述工具编制索引,但出现以下错误: Indexer: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Expected mime type application/octet-stream but got text/html. <
Indexer: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Expected mime type application/octet-stream but got text/html. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/update. Reason:
<pre> Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>
</body>
</html>
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:512)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124)
at org.apache.solr.client.solrj.SolrServer.commit(SolrServer.java:168)
at org.apache.solr.client.solrj.SolrServer.commit(SolrServer.java:146)
at org.apache.nutch.indexwriter.solr.SolrIndexWriter.commit(SolrIndexWriter.java:164)
at org.apache.nutch.indexer.IndexWriters.commit(IndexWriters.java:125)
at org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:149)
at org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:222)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:231)
Indexer:org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:应为mime类型的应用程序/octet流,但得到text/html。
找不到错误404
HTTP错误404
访问/solr/update时出现问题。原因:
bin/crawl -i -D solr.server.url=http://localhost:8983/solr/test_core urls/ TestCrawl/ 2
未找到由Jetty供电的
://
位于org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:512)
位于org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
位于org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
位于org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124)
位于org.apache.solr.client.solrj.SolrServer.commit(SolrServer.java:168)
位于org.apache.solr.client.solrj.SolrServer.commit(SolrServer.java:146)
位于org.apache.nutch.indexwriter.solr.SolrIndexWriter.commit(SolrIndexWriter.java:164)
位于org.apache.nutch.indexer.IndexWriters.commit(IndexWriters.java:125)
位于org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:149)
位于org.apache.nutch.indexer.IndexingJob.run(IndexingJob.java:222)
位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
位于org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:231)
我是第一次使用solr,因此在中提供的任何帮助都将非常有用,因为我没有找到其他适合我的解决方案。最可能的问题是/solr/update。最新版本的Solr不再支持默认集合(在/Solr和/update之间缺少名称)
因此,如果您使用的是最新的(5.x)Solr,则需要该URL来反映您创建的集合名称。因此,请查看Nutch教程或文档,了解如何在URL中提供显式集合名称。我在运行Apache Nutch 1.11和Apache Solr 5.3.1时遇到了相同的错误。通过在solr.server.url中包含核心名称(test_core,在下面的示例中)解决了该问题
您正在运行的查询是什么?我正在尝试将nutch与solr集成,并将爬网数据从nutch发送到solr。我正在使用nutch教程中的说明进行练习