3

首先,我创建了一个名为usercollection的集合:

http://xxxxx/solr/admin/collections?action=CREATE&name=usercollection&numShards=3&replicationFactor=3&maxShardsPerNode=3

然后我发现有问题,所以我删除了它。

 http://xxxx/solr/admin/collections?action=DELETE&name=usercollection

最后,我想再次创建集合。而且我发现了一些不对劲的地方。

`May 16, 2013 8:32:23 PM org.apache.solr.cloud.OverseerCollectionProcessor run
 INFO: Overseer Collection Processor: Get the message id:/overseer/collection-queue-    work/qn-0000000000 message:{
"operation":"createcollection",
"numShards":"3",
"maxShardsPerNode":"3",
"createNodeSet":null,
"name":"usercollection",
"replicationFactor":"3"}
May 16, 2013 8:32:23 PM org.apache.solr.common.SolrException log
SEVERE: Collection createcollection of createcollection           failed:org.apache.solr.common.SolrException: collection already exists: usercollection
    at org.apache.solr.cloud.OverseerCollectionProcessor.createCollection(OverseerCollectionProcessor.java:311)
    at org.apache.solr.cloud.OverseerCollectionProcessor.processMessage(OverseerCollectionProcessor.java:160)
    at org.apache.solr.cloud.OverseerCollectionProcessor.run(OverseerCollectionProcessor.java:112)
    at java.lang.Thread.run(Thread.java:662)`

所以,我认为删除时集合API有问题。因此,我怎样才能真正删除一个集合?

4

3 回答 3

3

遇到了同样的问题,最终通过使用 Solr 提供的 zkcli.sh 在 zookeeper 中手动编辑和更新 clusterstate.json 来解决。

  1. 下载 clusterstate.json:

    zkcli.sh -z zk-host-name -cmd getfile /clusterstate.json clusterstateLoca.json

  2. 编辑下载的 clusterstateLocal.json,删除已删除集合的节点,将 clusterstateLocal.json 保存到本地。

  3. 从 ZK 中删除陈旧的 clusterstate.json

    zkcli.sh -z zk-host-name -cmd clear /clusterstate.json

  4. 将修改后的 clusterstate.json 上传到 ZK:

    zkcli.sh -z zk-host-name -cmd putfile /clusterstate.json ./clusterstateLocal.json

于 2015-02-18T18:17:57.780 回答
2

删除集合后,您还应该提交(如果使用浏览器,您可以在不使用 curl 的情况下执行相同操作)

curl http://localhost:8080/solr/update -H "Content-type: text/xml" --data-binary '<commit />'

...在这一点上告诉 Solr 优化它的索引也是一个好主意:

curl http://localhost:8080/solr/update -H "Content-type: text/xml" --data-binary '<optimize />'

来源http://www.alphadevx.com/a/365-Clearing-a-Solr-search-index

于 2014-11-14T13:50:47.150 回答
0

您需要更新clusterstate.jsonzookeeper 合奏中的文件。您的云收藏信息保存在那里。

于 2013-09-20T11:16:05.373 回答