模式浏览器不显示我在Solr中在schema.xml中添加的字段

时间:2015-04-30 11:14:31

标签: tomcat solr lucene

我在solr v5.1中创建了一个名为“Core3”的核心的schema.xml中添加了一些字段。我不是指示例文件夹,而是使用“server”文件夹来运行solr服务器并创建solr核心。

我使用bin文件夹中提供的“solr create”实用程序创建了核心。

我使用命令

创建了代码名称“Core3”
public class Job
{
     public int ExecutionInterval { get; set; }
     public Action Action { get; set; }
}

public class TimedExecutionHandler
{
    private List<Job> jobs = new List<Job>();

    public void Start()
    {
        // start internal thread on loop
    }

    public void Stop()
    {
         // interrupt thread
    }

    public void RegisterJob(Job job)
    {
        // store job
    }

    private void Loop()
    {
        int count = 0;
        while (true)
        {
            Thread.Sleep(1000);
            count++;
            foreach (Job job in this.jobs)
            {
                if (count % job.ExecutionInterval == 0)
                {
                    job.Action();
                }
            }
        }
    }
}

当我去“C:\ tomcat-solr \ server \ solr \ Core3 \ conf”文件夹时,我没有找到schema.xml,所以我从文件夹“\ solr-5.1.0 \”复制了schema.xml文件服务器\ solr的\ configsets \ basic_configs \ CONF”。

我已添加以下字段。

solr create -c Core3

之后我停止并启动了solr托管的apache tomcat,并尝试在Admin UI中的“Schema Browser”中查看新字段,但这些字段不存在。请帮助我理解为什么字段没有显示?

1 个答案:

答案 0 :(得分:0)

位于核心目录中的conf文件夹中的solrconfig.xml文件中。有一种方法可以为该核心使用托管模式或schema.xml进行定义

要使用schema.xml,它会将<schemaFactory>设置为...

<schemaFactory class="ClassicIndexSchemaFactory"/>

使用托管模式文件,这在以这种方式创建新核心时似乎是默认的(此文件不应该手动编辑,而是使用动态模式REST API以编程方式编辑它)会把它设置为......

<schemaFactory class="ManagedIndexSchemaFactory">
  <bool name="mutable">true</bool>
  <str name="managedSchemaResourceName">managed-schema</str>
</schemaFactory>

有关此内容的更多信息,请点击此处... https://cwiki.apache.org/confluence/display/solr/Managed+Schema+Definition+in+SolrConfig

或者在schemaFactory部分附近的solrconfig.xml文件中有解释。