尝试在以独立模式运行的 Solr 中使用 V2 API 修改配置。
请求构建如下:
V2Request v2Request = new V2Request.Builder(String.format("/collections/%s/config", collectionName))
.withMethod(SolrRequest.METHOD.POST)
.withPayload(actionPayLoad)
.build();
这导致 SolrException:“Solr not running in cloud mode”
看来 V2 Http 请求是通过 org.apache.solr.apiV2HttpCall(Maven: org.apache.solr:solr-core:7.0.0) 生成的,它需要运行 Zookeeper
protected DocCollection getDocCollection(String collectionName) {
if (!cores.isZooKeeperAware()) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Solr not running in cloud mode ");
}
在没有 Zookeeper 的情况下,Solr 是否有任何等效的 Config API 调用以独立模式运行?
刚刚从https://lucene.apache.org/solr/guide/7_0/config-api.html注意到它应该以类似的方式工作:
Config API 允许使用类似 REST 的 API > 调用来操作 solrconfig.xml 的各个方面。此功能默认启用,并且在 SolrCloud 和独立模式下的工作方式类似。> 许多常用编辑的属性(例如缓存大小和提交设置)和请求处理程序 > 定义可以使用此 API 进行更改。