Solr集合或核心未重新加载schema.xml

Solr集合或核心未重新加载schema.xml,solr,reloading,Solr,Reloading,我正在使用Solar 4.6,并在schema.xml中更改了一些内容。为了更新核心中的schema.xml,我使用了zkcli。这很好,我可以在Solr Admin GUI的cloud\tree\config\foobar\schema.xml下看到修改后的schema.xml 但是打电话之后 http://localhost:8983/solr/admin/collections?action=RELOAD&name=foobar和 http://localhost:8983/solr/a

我正在使用Solar 4.6,并在
schema.xml
中更改了一些内容。为了更新核心中的
schema.xml
,我使用了
zkcli
。这很好,我可以在Solr Admin GUI的
cloud\tree\config\foobar\schema.xml
下看到修改后的
schema.xml

但是打电话之后

  • http://localhost:8983/solr/admin/collections?action=RELOAD&name=foobar
  • http://localhost:8983/solr/admin/cores?action=RELOAD&name=foobar

旧的
schema.xml
仍在名为foobar的核心中

您必须在为内核提供新模式后重新加载内核

将查询中的名称替换为core,如下所示:

/solr/admin/cores?action=RELOAD&**core**=yourcorename
比如说

http://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar

您对核心API的第二个HTTP请求是错误的。将
名称
更改为
核心

http://localhost:8983/solr/admin/cores?action=RELOAD&name=foobar
应该是
http://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar


(第277页)

重新加载
RELOAD
操作从现有已注册Solr核心的配置中加载新核心。当新内核初始化时,现有内核 将继续处理请求。当新的Solr内核准备就绪时,它将接管并卸载旧内核

当您更改了Solr core在磁盘上的配置(例如添加新的字段定义)时,这非常有用。调用
重新加载
操作 允许您应用新配置,而无需重新启动Web容器。但是,核心容器不会持久化SolrCloud
solr.xml
参数,如
solr/@zkHost
solr/cores/@hostPort
,这些参数将被忽略

http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0

RELOAD
操作接受单个参数core,该参数是要重新加载的核心的名称



另请参见

这是正确的答案,另一种技术性较低的方法是只需重新启动Tomcat/Jetty服务器即可