使用 Solr 索引文档会导致预期的 mime 类型 application/octet-stream 但得到 text/html

Posted

技术标签:

【中文标题】使用 Solr 索引文档会导致预期的 mime 类型 application/octet-stream 但得到 text/html【英文标题】:Indexing documents using Solr results in Expected mime type application/octet-stream but got text/html 【发布时间】:2015-05-30 10:34:25 【问题描述】:

我想做的是使用 Solr 索引文档。

我已经在 Windows 环境中安装并启动了 Solr 服务器,我正在尝试使用 SolrJ 进行索引。

但是,当我尝试将 solr 文档添加到服务器时,如下所示,它会导致错误

server.add(indexDoc);

错误

Error from server at http://localhost:8983/solr: Expected mime type application/octet-stream but got text/html

<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><br/>

此问题的可能原因是什么。

【问题讨论】:

【参考方案1】:

我认为 404 错误与您的问题更相关...请参阅:Error 404: Prob accessing /solr/update. Reason: Not Found

您在 URL 中缺少您的收藏名称。

【讨论】:

我在发布我的问题之前已经阅读过,我想这个例子有些不同。这家伙没有使用 SolarJ。他正在尝试做的是重命名为他正在处理的默认集合。就我而言,我要做的就是为某个文档编制索引。 那么请发布您的代码。此外,solrj 是一个用于与 Java 中的 solr 实例对话的 API;它们不是两种不同的“类型”的 solr 或任何东西……一个是客户端,一个是服务器。此外,您可以在 localhost:8983/solr/admin/cores?action=STATUS 此处查看您的 solr 内核。您的网址中没有核心的事实仍然是我认为的问题。 在我的例子中,在 solr 重启后核心丢失了,所以不得不再次创建核心并检查架构文件 我也遇到了同样的问题,谁能帮帮我。我的收藏在 url 中嵌入了两次,所以它给出了 404。=============== 访问 /solr/collectioName/collectioName/update 时出现问题。【参考方案2】:

在我的情况下,这是因为 Core 不存在,我在此处指定 @SolrDocument(solrCoreName = "documents") 应该有一个名称为 documentscore服务器。

所以我在 Windows 上使用以下命令 bin/solr.cmd create -c documents -p 8983 从命令行创建了核心。

然后它在我的情况下起作用了。

【讨论】:

【参考方案3】:

在我的情况下,核心丢失了。使用以下命令创建nutch 核心:

$APACHE_SOLR_HOME/bin/solr create -c nutch -d $APACHE_SOLR_HOME/server/solr/configsets/nutch/conf/

另外,通过以下方式检查核心的状态:

localhost:8983/solr/admin/cores?action=STATUS 

【讨论】:

【参考方案4】:

检查您在 Collection 和 Application 中的字段名称是否不匹配。

【讨论】:

以上是关于使用 Solr 索引文档会导致预期的 mime 类型 application/octet-stream 但得到 text/html的主要内容,如果未能解决你的问题,请参考以下文章

使用 Solar 索引大型文档会导致异常

Solr Realtime获取RemoteSolrException:预期的mime类型application / xml但是得到了text / html

Solr搜索技术

solr索引删除后索引文档数量未变

预期的 mime 类型 application/xml 但得到了 text/html

Solr搜索引擎索引管理