簡體   English   中英

Java Spring如何設置多核Solr配置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM