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

时间:2014-09-05 15:13:36

标签: solr cloudera-cdh

我想删除我的Solr集合中的所有索引数据,最好是通过其中一个节点本身的shell命令。我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

如果您有权访问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]

如果您没有直接访问权限,可以按照hereherehere所述使用Solr的更新服务。

答案 1 :(得分:0)

您可以在命令提示符下使用以下命令

&#13;
&#13;
curl http://<ip_address>:8983/solr/<collection_name>/update --data '<delete><query>*:*</query></delete>' -H 'Content-type:text/xml; charset=utf-8';
&#13;
&#13;
&#13;