【问题标题】:Solr: how to delete a collection?Solr:如何删除一个集合?
【发布时间】:2014-09-23 13:52:18
【问题描述】:

我使用的是 solr 4.9,没有添加任何额外的分片,只是使用它附带的任何默认值。我创建了一个集合并尝试使用以下 api 将其删除:

http://<host>/solr/admin/collections?action=DELETE&name=collectionName

但它返回错误:

Solr 实例未在 SolrCloud 模式下运行

我的 Solr 不是 solrCloud,但是如何删除我的收藏?

【问题讨论】:

    标签: solr


    【解决方案1】:

    在最新版本的 Solr 中,您可以通过三种方式删除集合。

    1. 您可以使用bin/solr 工具手动删除集合
    2. 您可以通过 Solr Admin 手动删除集合
    3. 您可以使用 Collections API 删除集合
    4. 您可以使用 V2 API 删除集合

    使用bin/solr 工具删除集合很简单。你进入你的SOLR_HOME 目录并运行:

    bin/solr delete -c COLLECTION_NAME
    

    要使用 Collections API 删除集合,您需要运行如下命令:

    curl 'localhost:8983/solr/admin/collections?action=DELETE&name=COLLECTION_NAME'
    

    最后,要使用 V2 API 并使用它删除集合,您需要执行以下操作:

    curl -XDELETE 'http://localhost:8983/api/c/COLLECTION_NAME'
    

    如果您打算很少删除集合,则可以手动执行此操作。如果这是常用的 - 例如别名和基于时间的数据,我建议使用 V2 API,因为这是最新的 API,可能会在某个时候取代旧的 API。

    【讨论】:

      【解决方案2】:

      虽然 Adam 的回答是正确的,但以下是帮助使用它的文档:https://lucene.apache.org/solr/guide/7_7/collections-api.html#delete

      我在这个问题上停留了一段时间,只是得到了无效删除核心答案,我猜这曾经适用于集合,但在较新的版本中没有。

      【讨论】:

        【解决方案3】:

        您可以通过两种方式删除Solr Collection。

        1) 从命令提示符:

        从您提取Apache Solr 的位置启动命令提示符。运行以下命令

        Solr\bin&gt;solr delete -c My_Collection

        2) 从 Solr 管理控制台:

        /admin/collections?action=DELETE&amp;name=collection

        有关Apache Solr Collection API 的更多信息。 Apache Solr Collection API

        【讨论】:

          【解决方案4】:

          你可以使用 curl

          curl -X GET -H "Content-Type: application/json" "http://localhost:8983/solr/admin/cores?wt=json&action=UNLOAD&core=gettingstarted"
          

          gettingstarted 是您要删除的核心的名称。 请注意,以上假设 solr 在端口 8983 上运行。

          【讨论】:

            【解决方案5】:

            n.b. 已针对 Solr 4.9 进行测试,应该适用于较新的版本。

            curl -v http://localhost:8983/solr/admin/cores?action=UNLOAD&deleteInstanceDir=true&core=collectionName
            

            【讨论】:

            • 这适用于核心,而不是集合。请参阅 Adam Seabridge 的帖子
            【解决方案6】:
            【解决方案7】:

            转到 solr 文件夹并执行此操作..

            bin/solr delete -c collection_name
            

            然后用

            重启solr
            bin/solr restart
            

            【讨论】:

            • 对于重启命令,你必须指定端口选项,至少是默认端口,像这样:bin/solr restart -p 8983
            • 我确实去了 solr fodler,但我得到的只是-bash: bin/solr: No such file or directory
            • @Suraj 然后你可以使用. /solr delete -c collection_name
            • 真的需要重启 Solr 吗?
            【解决方案8】:

            根据本指南 (https://cwiki.apache.org/confluence/display/solr/Collections+API),此 API 仅在您处于 SolrCloud 模式时才有效。

            如果您只想删除核心或仅删除该核心中的所有文档,请查看此处 - https://wiki.apache.org/solr/CoreAdmin

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-04-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-10-04
              • 2019-02-06
              相关资源
              最近更新 更多