我在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”中查看新字段,但这些字段不存在。请帮助我理解为什么字段没有显示?
答案 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文件中有解释。