我可能是瞎子,但我没有在文档中看到它。更新托管schema.xml文件的url和curl请求是什么?
我曾尝试过:
curl -X POST -d @schema.xml -H "Content-Type: text/xml" http://<SOLR>:8983/solr/<CORE>/schema/files/schema.xml
curl -X POST -d @schema.xml -H "Content-Type: text/xml" http://<SOLR>:8983/solr/<CORE>/schema
curl -X POST -d @schema.xml -H "Content-Type: text/xml" http://<SOLR>:8983/solr/<CORE>/schema/schema.xml
全部采用PUT方法。
版本的Solr:5.5.2
答案 0 :(得分:0)
据我所知,没有&#34;取代完整的架构&#34; command for the Schema API。托管架构基于API中的一组命令进行更新:
POST /collection/schema
要添加,删除或替换字段,动态字段规则,复制字段规则或新字段类型,您可以使用一系列命令向/ collection / schema / endpoint发送POST请求,以执行请求的操作。支持以下命令:
add-field
:添加一个包含您提供的参数的新字段。
delete-field
:删除字段。
replace-field
:将现有字段替换为配置不同的字段。
add-dynamic-field
:使用您提供的参数添加新的动态字段规则。
delete-dynamic-field
:删除动态字段规则。
replace-dynamic-field
:将现有的动态字段规则替换为配置不同的规则。
add-field-type
:添加一个包含您提供的参数的新字段类型。
delete-field-type
:删除字段类型。
replace-field-type
:将现有字段类型替换为配置不同的字段类型。
add-copy-field
:添加新的复制字段规则。
delete-copy-field
:删除复制字段规则。
要执行您想要的操作,您可能希望自己替换managed-schema文件,然后重新启动solr或自行重新加载内核:
为什么不建议手动编辑托管架构?
名为&#34; managed-schema&#34;的文件在示例配置中可能包括建议从不手动编辑文件的注释。在Schema API存在之前,此类编辑是对架构进行更改的唯一方法,用户可能非常希望继续以这种方式进行更改。 不鼓励这样做的原因是,如果稍后使用此处描述的Schema API进行更改,则可能会丢失模式的手动编辑,除非在使用Schema API之前重新加载核心或集合或重新启动Solr。如果在手动编辑后务必重新加载或重新启动,那么进行这些编辑就没有任何问题。