Solr Spring訪問Solr服務器時,在該url中插入額外的核心名稱。這可以從以下錯誤中看出。初始錯誤正確指出了URL,但從Solr返回的http錯誤指出訪問的URL與核心(工作區)重複。URL中的重複內核發送到solr從彈簧啓動solr數據
錯誤
Caused by: org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://x.x.x.x:8983/solr/workspaces: 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/workspaces/workspaces/select. Reason:
<pre> Not Found</pre></p>
</body>
</html>
Document.java
@SolrDocument(solrCoreName="workspaces")
public class Workspace
{
}
在SolrContext.java還定義, 「multicoreSupport =真」 在頂部
@Bean
public SolrClient solrClient()
{
SolrClient retval = new HttpSolrClient.Builder(environment.getRequiredProperty(PROPERTY_NAME_SOLR_SERVER_URL)).build();
return retval;
}
@Bean
public SolrTemplate solrTemplate()
{
return new SolrTemplate(solrClient());
}
我試圖在一個點添加額外的@Beans與SolrTemplate,每個核心一個。然後,網址最終將每個核心添加到網址。很奇怪。我正在訪問的存儲庫非常標準。
public interface WorkspaceRepository extends SolrCrudRepository<Workspace, String>
{
List<Workspace> findByUserId(String userId);
}
這是使用:
- 彈簧引導起動數據的solr-1.5.1.RELEASE
- 的solr-solrj-6.3.0
- 彈簧數據的solr -2.1.0.RELEASE
注意,我開始與用彈簧數據的Solr-2.1.0定義的默認的Solr-solrj,但得到了同樣的問題,所以我就調升6.3.0。
無論如何,我希望有人以前見過這個,並且可以爲我做錯的事情添加一些指導。
感謝
謝謝。我降級到1.4.4.RELEASE並刪除了對solr-solrj-6.3.0的依賴,問題就消失了。 (它默認回到5.5.3。 – OldManCoder
嗯......但是如果我還想升級我的Spring Boot for 1.5.1呢? –
降級只是一個短期的解決方案,Dave Burke實際上創造了一個問題[在春季啓動跟蹤器](https://github.com/spring-projects/spring-boot/issues/8327)來弄清楚發生了什麼,注意更新 –