【发布时间】:2015-04-05 20:28:53
【问题描述】:
我正在尝试将文档索引到 solr 中的特定集合。集合名称是“程序”。我正在使用 Spring Data solr。
我在尝试保存文档时收到以下错误:
HTTP ERROR 404
Problem accessing /solr/update.
Reason:Not Found
我的假设是注释 @SolrDocument 无法识别。 spring-data-solr 正在尝试将文档发布到 /solr/update,而它应该尝试将其发布到 /solr/program/update。但是我不确定如何证明或修复它。
我的架构可在以下链接中找到:
http://<solr-host>/solr/program/schema
更新请求处理程序可在以下链接中找到:
http://<solr-host>/solr/program/update
spring-config-xml
<context:annotation-config />
<context:component-scan base-package="com.oostnet.controllers, com.oostnet.models, com.oostnet.services" />
<mvc:annotation-driven />
<solr:solr-server id="solrServer" url="http://<solr-host>/solr" />
<bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate">
<constructor-arg ref="solrServer" />
</bean>
<solr:repositories base-package="com.oostnet.solr.repositories" />
模型定义:
package com.oostnet.models.documents;
@SolrDocument(solrCoreName="program")
public class Program {
@Id
@Indexed
private String id;
<more variables>
}
存储库定义:
package com.oostnet.solr.repositories;
public interface ProgramRepository extends SolrCrudRepository<Program, String> {
}
控制器:
package com.oostnet.controllers;
public class ProgramController{
private ProgramRepository programRepository;
@Autowired
public void setProgramRepository(ProgramRepository programRepository) {
this.programRepository = programRepository;
}
public void createProgram(Program program) {
programRepository.save(program);
}
}
以下是使用的版本:
<spring.data.solr.version>1.3.2.RELEASE</spring.data.solr.version>
<spring.version>4.1.4.RELEASE</spring.version>
solr server version - solr-spec 4.10.2
【问题讨论】:
-
您可以访问
program核心管理页面吗? -
@sidgate 是的。那里没有例外。我使用网址 http://
/solr/#/program 访问它 -
您使用的是哪个版本的 spring-data-solr??
-
@Swaraj 该版本在我的帖子中可用。它的 1.3.2.RELEASE。
标签: spring solr spring-data spring-annotations spring-data-solr