2014-09-05 58 views

回答

4

如果你有机会到外壳,使用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的更新服务,如here,herehere所述。

+0

我们使用CDH 5.1.3和我使用solrctl实用程序在我的收藏deletedocs。以下是命令'solrctl --zk $ {ZKHOST}集合--deletedocs $ {COLLECTIONNAME}'。该集合是空的。当我看着/ solr//core_ /data/index我发现我有_1.fdt,_1.fdx等和_2.fdt,_2.fdx等等,似乎是对我或我的错误缺少一些东西 – venBigData 2014-12-31 21:35:32

+0

这绝对是奇怪的。我知道它适用于CDH 4.2和CDH 4.7。我们现在正在升级到CDH 5.3。一旦我可以测试它,我会添加另一个评论,看它是否可以在该版本中使用。 – jstricker 2015-01-01 03:20:51

0

您可以使用下面的命令进行命令提示符

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