如何使用java代码在solr中创建新的内核?

问题描述:

我是solr中的新手,我想通过使用java代码在solr中创建一个新的内核,我不想通过solr的终端和GUI创建它,这是我正在使用的代码,我正在使用6.2.1 solr版本,请帮助我。 thanx提前。所有的如何使用java代码在solr中创建新的内核?

  coreName="metademo"; 
      String solrDir = "/home/manish/Downloads/solr-6.2.1/server/solr/"; 

     String baseSolrUrl ="http://localhost:8983/solr/"; 
     CoreAdminRequest.Create create = new CoreAdminRequest.Create(); 
     create.setCoreName("metademo"); 
     create.setInstanceDir(solrDir +File.separator); 
     SolrClient client2=new HttpSolrClient.Builder(baseSolrUrl).build(); 

     create.setDataDir(solrDir + File.separator + coreName + File.separator + "data"); 
     HttpSolrServer solrServer1 = new HttpSolrServer(solrDir,client); 
     CoreAdminRequest.createCore(coreName, solrDir, client2); 
     create.createCore(coreName, solrDir, client2); 
     System.out.println("Created core with name: " + coreName); 
+0

这段代码有什么问题? –

首先,你必须在Solr的目录创建核心文件夹(你的情况:/home/manish/Downloads/solr-6.2.1/server/solr/metademo)。

此文件夹必须与您在java代码中使用的名称相同。

然后在这个新的核心目录(在你的情况下命名为“metademo”)复制从/.../solr-6.2.1/server/solr/configsets/basic_configs,所谓的/conf目录。

复制完成后,在/.../solr-6.2.1/server/solr/metademo/conf文件夹内,必须更改managed-schema文件的名称schema.xml

我试试这个:

String coreName = "metademo"; 
String solrDir = "/.../solr-6.2.1/server/solr/metademo"; 
String baseSolrUrl = "http://localhost:8983/solr/"; 
SolrClient client = new HttpSolrClient(baseSolrUrl); 
CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create(); 
createRequest.setCoreName(coreName); 
createRequest.setInstanceDir(solrDir); 
createRequest.process(client); 

和作品。没有以前的操作,你的代码只能抛出异常。