2014-09-05 67 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';