如何使用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);
答
首先,你必须在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);
和作品。没有以前的操作,你的代码只能抛出异常。
这段代码有什么问题? –