我想从我的java代码修改solrconfig.xml文件。 如果有任何源代码提供SolrJ中用于修改solrconfig.xml的抽象SolrRequest实现的示例,请您指出它们。
由于
答案 0 :(得分:0)
您无法直接从API修改solrconfig.xml
,但您可以use the Config API修改配置,而无需修改solrconfig.xml
。
Config API创建一个“覆盖”,用于在solrconfig中定义的设置之上,并允许您操作配置文件中包含的大多数方面。
您可以看到如何manually build JSON and set it with SolrJ。我不确定SolrJ是否有任何东西可以将其抽象出来,但问题跟踪器上的开放票证表明它还没有发生。它还取决于您使用的SolrJ版本。
答案 1 :(得分:0)
正如@MatsLindh所说,您可以使用 Config API更新solr配置。 您也不需要重新加载集合。
您可以找到配置API here的命令属性
以下是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命令here