对于使用具有多核支持的存储库使用solr设置Spring数据,是否有详细而完整的解释?
spring数据solr需要使用的唯一依赖项是
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
它下载solrj依赖项,这不能被更高版本的solrj覆盖。此外,最好使用HttpSolrServer而不是EmbeddedSolrServer,这是我们将使用的。
Configuration类应如下所示:
@Configuration
@EnableSolrRepositories(value = "com.package.",multicoreSupport = true)
public class SolrConfig
{
@Bean
public SolrServer solrServer() throws Exception
{
HttpSolrServerFactoryBean f = new HttpSolrServerFactoryBean();
f.setUrl("http://localhost:8983/solr");
f.afterPropertiesSet();
return f.getSolrServer();
}
@Bean
public SolrTemplate solrTemplate(SolrServer solrServer) throws Exception
{
return new SolrTemplate(solrServer());
}
}
文档实体应包含有关它们属于哪个核心的信息
@SolrDocument(solrCoreName = "core1")
public class Document1
{
@Id
@Field
private String id;
/**other attributes**/
}
其他文件应为
@SolrDocument(solrCoreName = "core2")
public class Document2
{
@Id
@Field
private String id;
/**other attributes**/
}
现在最好的部分是您已经完成了。简单地以普通的老方法设置存储库就可以了
public interface SolrCore1Repository extends SolrCrudRepository<Document1,String>
{
// optional code
}
另一种回购方式是
public interface SolrCore2Repository extends SolrCrudRepository<Document2,String>
{
// optional code
}
一旦solr在指定的url上运行并且根据pojo有字段,就完成了。
问题内容: 我有2个Mongodb数据库通过2个MongoTemplate-s连接到Spring Boot应用程序: mongoTemplate (默认的bean名称,连接到默认的db) mongoAppTemplate (在运行时连接到另一个数据库) 我有很多使用mongoTemplate的MongoRepository-,但我也想创建一些使用mongoAppTemplate的东西。 如何配置2
我有两个Mongodb数据库连接到一个Spring Boot应用程序,其中有两个MongoTemplate-s: mongoTemplate(默认的bean名称,连接到默认的db) mongoAppTemplate(在运行时连接到另一个数据库) 我有很多使用mongoTemplate的MongoRepository,但我也想创建一些使用mongoAppTemplate的。 如何配置2 MongoR
我想使用SpringDataSolr在一个服务中访问多个/2个repo。从SpringDataSolr多核和存储库中,我知道“不幸的是,通过名称空间配置支持多核是一个开放的问题”。 你能帮我举个例子吗?我怎样才能创建自定义回购协议? 我的应用程序Context.xml有两个Solr模板定义如下: 我有以下回购协议 最后,服务如下所示: 有人能告诉我如何修改代码以实现SpringDataSolrWi
我正在使用Eclipse Juno并试图为我的项目配置版本控制。我安装了Subversive并试图配置我的SVN存储库,但是当我转到Eclipse->Preferences->SVN时,没有“存储库”选项卡,正如文档所建议的--Eclipse Subversive。只有“常规”、“SVN连接器”、“项目结构”、“视图设置”和“错误报告”。 因此,当我右键单击我的项目并选择“Team”时,没有“提交
我们正在托管一个企业存储库,它充当众所周知的存储库(例如Maven Central和Clojars)的代理。我想让莱宁根在第一时间找到公司资料库。只有当公司存储库未能交付工件时,Leiningen才应该询问标准存储库。这应该是我所有项目的默认行为。我要做什么配置? 我在~/.lein/profiles.clj中添加了公司存储库作为镜像: 不幸的是,此设置没有影响。Leiningen从Maven C
问题内容: 我的apache solr具有多个核心,例如货币,国家等。因此,使用Spring Data Solr可以从一个核心中检索信息。我现在已经获得了针对“ currency”核心的XML配置。如果我想查询“国家”核心,该如何设置? 并将存储库定义为 从我的服务中我可以做到这一点 我也尝试过使用@SolrDocument(solrCoreName =“ currency”),但是这行不通。 我