簡體   English   中英

如何在Solrj中創建新核心

[英]How to create new core in solrj

我正在嘗試使用solrj創建新的核心。 我需要它來為我的應用准備測試。 我認為這段代碼是不完整的或錯誤的,因為每次我遇到“沒有核心候選人”的錯誤時,

package com.itsystems.talentapp.config;

import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.client.solrj.response.CoreAdminResponse;
import org.apache.solr.core.CoreContainer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

import java.io.IOException;

@Configuration
public class SolrConfig {

    @Autowired
    SolrClient solrClient;


    @Bean
    @Profile("test")

    public EmbeddedSolrServer embeddedSolrServer() throws IOException, SolrServerException {
        String folder = "src/main/resources/solr/";
        String coreName = "candidates";

        CoreAdminResponse e = new CoreAdminRequest().createCore(coreName, folder, solrClient);
        CoreContainer container = new CoreContainer(folder);
        container.load();
        return new EmbeddedSolrServer(container, "candidates");
    }
}

錯誤:

org.apache.solr.common.SolrException: No such core: candidates

版:

<dependency>
        <groupId>org.apache.solr</groupId>
        <artifactId>solr-core</artifactId>
        <version>6.6.1</version>
</dependency>

我錯過了一些文件和CFG。 正確的代碼:

 @Bean
public SolrClient solrClient() throws IOException, SolrServerException {
    String folder = "src/main/resources/solr/";
    String coreName = "candidates";
    CoreContainer container = new CoreContainer(folder);
    container.load();
    return new EmbeddedSolrServer(container, coreName);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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