修改SolrJ的solrconfig.xml?

时间:2018-04-05 13:19:29

标签: solr solrj solrconfig

我想从我的java代码修改solrconfig.xml文件。 如果有任何源代码提供SolrJ中用于修改solrconfig.xml的抽象SolrRequest实现的示例,请您指出它们。

由于

2 个答案:

答案 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