如何从Solr集合中删除所有数据



我想删除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';

最新更新