我正在使用Solar 4.6并更改schema.xml
内的内容。为了在我的核心内更新schema.xml
,我使用了zkcli
。哪个工作正常,我能够在schema.xml
下的Solr Admin GUI中看到修改后的cloud\tree\config\foobar\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的核心中。
答案 0 :(得分:0)
您必须在为其提供新架构后重新加载核心。
在查询中将名称替换为核心:
/solr/admin/cores?action=RELOAD&**core**=yourcorename
例如
http://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar
答案 1 :(得分:0)
您对Core API的第二个HTTP请求是错误的。将name
更改为core
:
http://localhost:8983/solr/admin/cores?action=RELOAD&name=foobar
应该是
http://localhost:8983/solr/admin/cores?action=RELOAD&core=foobar
。
http://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-4.6.pdf(第277页)
RELOAD
操作从现有的已注册Solr核心的配置加载新核心。而新核心正在初始化,现有的核心
将继续处理请求。当新的Solr核心准备就绪时,它将接管并卸载旧核心。
当您对磁盘上的Solr核心配置进行更改(例如添加新的字段定义)时,这非常有用。致电RELOAD
行动
允许您应用新配置,而无需重新启动Web容器。但是,Core Container不会保留SolrCloud
solr.xml
solr/@zkHost
参数,例如solr/cores/@hostPort
和http://localhost:8983/solr/admin/cores?action=RELOAD&core=core0
,将被忽略。
RELOAD
<html>
<head></head>
<body>
<form method="post">
<label>Assignment 1:</label><input type="text" name="assignmentOne" value="0"></br>
<label>Assignment 2:</label><input type="text" name="assignmentTwo" value="0"></br>
<label>Assignment 3:</label><input type="text" name="assignmentThree" value="0"></br>
<label>Assignment 4:</label><input type="text" name="assignmentFour" value="0"></br>
<label>Assignment 5:</label><input type="text" name="assignmentFive" value="0"></br>
<label>Assignment 6:</label><input type="text" name="assignmentSix" value="0"></br>
<label>Final Project:</label><input type="text" name="finalProject" value="0"></br>
<label>Final Exam:</label><input type="text" name="finalExam" value="0"></br>
<input type="button" name="calculate" value="Calculate Grade"></br>
</form>
<?php
if ($_POST) {
$assignmentOne = $_POST['assignmentOne'];
$assignmentTwo = $_POST['assignmentTwo'];
$assignmentThree = $_POST['assignmentThree'];
$assignmentFour = $_POST['assignmentFour'];
$assignmentFive = $_POST['assignmentFive'];
$assignmentSix = $_POST['assignmentSix'];
$finalProject = $_POST['finalProject'];
$finalExam = $_POST['finalExam'];
$grade = (((assignmentOne + assignmentTwo + assignmentThree + assignmentFour + assignmentFive + assignmentSix) / 6)* .50) + (finalProject * .30) + (finalExam * .20);
echo "Final Grade $grade";
}
?>
</div>
</body>
操作接受一个参数核心,这是要重新加载的核心的名称。
另见https://cwiki.apache.org/confluence/display/solr/CoreAdmin+API#CoreAdminAPI-RELOAD