[英]Java Spring how to set up multicore Solr configuration
基本上,我从http://docs.spring.io/spring-data/solr/docs/1.0.x/reference/html/solr.repositories.html复制并粘贴了多核配置,然后进行了一些调整,但这是行不通的,因为我需要将corename-SolrClient添加到ClientFactory。 但是,我只是突然创建了SolrCLient吗? 我希望所有这些都与我的机器上服务器上运行的内核相匹配。 这是solr的配置类:
private static final String PROPERTY_NAME_SOLR_SERVER_URL = "solr.host";
@Resource
private Environment environment;
@Bean
public SolrClientFactory solrClientFactory() {
MulticoreSolrClientFactory factory = new MulticoreSolrClientFactory(
new HttpSolrClient(environment.getRequiredProperty(
PROPERTY_NAME_SOLR_SERVER_URL) ));
return factory;
}
@Bean (name = "SolrTemplateMap")
public Map<Language, SolrTemplate> solrTemplateList(){
HashMap<Language, SolrTemplate> map = new HashMap<>();
for (Language l : Language.values()){
SolrTemplate template = new SolrTemplate (solrClientFactory());
template.setSolrCore(l.toString());
map.put( l, template);
}
return map;
}
我尝试添加
for (Language l : Language.values()){
factory.addSolrClientForCore(new HttpSolrClient(url + "/solr/" + l.toString()), l.toString());
}
在工厂bean中,但是它不能解决任何问题。 Language
是一个枚举。
延迟回复,不确定是否对您有利,但我希望至少能对您有所帮助。 这样的事情使我工作。
@Bean (name = "SolrTemplateMap")
public Map<Language, SolrTemplate> solrTemplateList(){
HashMap<Language, SolrTemplate> map = new HashMap<>();
for (Language l : Language.values()){
SolrTemplate template = new SolrTemplate (configureHttpSolrServer(l));
map.put( l, template);
}
return map;
}
private SolrServer configureHttpSolrServer(String baseURL) {
HttpSolrServerFactoryBean factoryBean = new HttpSolrServerFactoryBean();
factoryBean.setUrl(baseURL);
factoryBean.setMaxConnections(100);
return factoryBean;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.