2017-02-01 6 views
3

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.

В любом случае, я надеюсь, что кто-то видел это раньше и может добавить небольшое руководство относительно того, что я делаю неправильно.

Благодаря

ответ

2

У меня была точно такая же проблема и решить ее с помощью Spring версии загрузчика 1.4.3.RELEASE, вместо 1.5.1.RELEASE ...

+0

спасибо. Я понизился до 1.4.4.RELEASE и удалил зависимость от solr-solrj-6.3.0, и проблема исчезла. (Он по умолчанию вернулся к 5.5.3. – OldManCoder

+0

Хм ... Но что, если я хочу еще обновить свою Spring Boot для 1.5.1? –

+0

Downgrading - это всего лишь краткосрочное решение. Дэйв Берк фактически создал проблему [весной Boot tracker] (https://github.com/spring-projects/spring-boot/issues/8327), чтобы выяснить, что происходит. Смотрите, что для обновлений –

0

Это ошибка Spring Data Solr , будет зафиксировано в 2.1.2 (Ingalls SR2) и 3.0 M2 (Kay) , см. https://jira.spring.io/browse/DATASOLR-364, чтобы получить дополнительную информацию.

+0

просто обновление: проблема решена –