我想从我的 java 代码中修改 solrconfig.xml 文件。如果有任何来源提供了在 SolrJ 中实现抽象 SolrRequest 以修改 solrconfig.xml 的示例,请您指出我的意思。
谢谢
我想从我的 java 代码中修改 solrconfig.xml 文件。如果有任何来源提供了在 SolrJ 中实现抽象 SolrRequest 以修改 solrconfig.xml 的示例,请您指出我的意思。
谢谢
您无法solrconfig.xml
直接从 API 进行修改,但您可以使用 Config API来修改配置,而无需编辑solrconfig.xml
.
Config API 创建一个“覆盖”,用于在 solrconfig 中定义的设置之上,并允许您操作包含在配置文件中的大多数方面。
您可以了解如何手动构建 JSON 并使用 SolrJ 进行设置。我不确定 SolrJ 中是否添加了任何内容以将其抽象出来,但问题跟踪器上的公开票证表明它尚未发生。它还取决于您使用的 SolrJ 版本。
正如@MatsLindh 所说,您可以使用Config API来更新 solr 配置。您也不需要重新加载集合。
您可以在此处找到配置 API 的命令属性
下面是更新属性 Solr (>7.0) 的代码updateHandler.autoSoftCommit.maxTime
:
//setting softCommit maxTime to 15000
final String command = "{\"set-property\":{\"updateHandler.autoSoftCommit.maxTime\":15000}}";
//path and method of request
final GenericSolrRequest rq = new GenericSolrRequest(SolrRequest.METHOD.POST, "/config", null);
// request string and request type
final ContentWriter content = new StringPayloadContentWriter(command, "application/json");
rq.setContentWriter(content);
//create your solrClient using zookeeper connection string
rq.process(solrClient, "<your collection name>");
您可以在此处找到等效的 curl 命令