我正在使用带有JAVA spring boot应用程序的SOLR 7.1.0服务器。 要与SOLR服务器通信我正在使用“springframework.data.solr” 我有一个“模板”模式,我想在运行时创建新的核心。
我想要实现的目标是为每个客户创建一个新核心,同时保持架构不变。
这就是我的SolrConfig的样子:
@Configuration
@EnableSolrRepositories(basePackages = "com.my.repository", multicoreSupport = true)
@ComponentScan
public class SolrConfig {
@Bean
public SolrClient solrClient() {
return new HttpSolrClient("http://localhost:8983/solr");
}
@Bean
@Scope("prototype")
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
return new SolrTemplate(client);
}
}
我的存储库界面:
public interface OpenItemsDebtorsRepository extends CustomOpenItemsDebtorsRepository, SolrCrudRepository<OpenItemDebtor, String> {
void setCore(String core);
@Query("orderNumber:*?0*~")
List<OpenItemDebtor> findByOrderNumber(String orderNumber);
}
我正在寻找类似的东西:
solrTemplate.CreateNewCore(String coreName)
你有什么建议吗?
答案 0 :(得分:1)
我强烈建议您使用本机Solr客户端(SolrJ)进行Spring启动项目。创建一个服务组件,为您提供Solr服务器的实例(CLoudSolrClient)。
SolrJ拥有创建和管理核心和集合所需的所有组件。
我知道这不是一个直接的答案,但我希望这有帮助。