Solr Spring boot добавляет дополнительное имя ядра в URL-адрес при доступе к серверу Solr. Это видно из следующей ошибки. Исходная ошибка правильно указывает URL-адрес, но ошибка http, возвращаемая из Solr, указывает, что 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, по одному для каждого ядра. Затем URL-адрес завершил добавление каждого из ядер к URL-адресу. Очень странно. Репозиторий, к которому я обращаюсь, довольно стандартный.
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-solrj по умолчанию, который был определен с помощью spring-data-solr-2.1.0, но получил ту же проблему, поэтому я повысил ее до 6.3.0.
В любом случае, я надеюсь, что кто-то видел это раньше и может добавить небольшое руководство относительно того, что я делаю неправильно.
Благодаря
спасибо. Я понизился до 1.4.4.RELEASE и удалил зависимость от solr-solrj-6.3.0, и проблема исчезла. (Он по умолчанию вернулся к 5.5.3. – OldManCoder
Хм ... Но что, если я хочу еще обновить свою Spring Boot для 1.5.1? –
Downgrading - это всего лишь краткосрочное решение. Дэйв Берк фактически создал проблему [весной Boot tracker] (https://github.com/spring-projects/spring-boot/issues/8327), чтобы выяснить, что происходит. Смотрите, что для обновлений –