我想删除Solr集合中的所有索引数据,最好是通过其中一个节点上的shell命令。我该怎么做?
如果您可以访问shell,请使用带有以下选项的solrctl
命令:
solrctl collection --deletedocs <collection-name>
以下是solrctl --help
的完整使用输出供参考:
usage: /usr/bin/solrctl [options] command [command-arg] [command [command-arg]] ...
Options:
--solr solr_uri
--zk zk_ensemble
--help
--quiet
Commands:
init [--force]
instancedir [--generate path]
[--create name path]
[--update name path]
[--get name path]
[--delete name]
[--list]
collection [--create name -s <numShards>
[-c <collection.configName>]
[-r <replicationFactor>]
[-m <maxShardsPerNode>]
[-n <createNodeSet>]]
[--delete name]
[--reload name]
[--stat name]
[--deletedocs name]
[--list]
core [--create name [-p name=value]...]
[--reload name]
[--unload name]
[--status name]
如果您没有直接访问权限,您可以使用Solr的更新服务,如这里、这里和这里所述。
您可以使用以下命令进行命令提示符
curl http://<ip_address>:8983/solr/<collection_name>/update --data '<delete><query>*:*</query></delete>' -H 'Content-type:text/xml; charset=utf-8';