我正在使用solr 4.9,不添加任何额外的碎片,只需使用它附带的任何默认值。我创建了一个集合,并尝试使用以下api删除它:
http://<host>/solr/admin/collections?action=DELETE&name=collectionName
但它返回错误:
Solr实例未在SolrCloud模式下运行
我的Solr不是solrCloud,但如何删除我的收藏?
答案 0 :(得分:51)
转到solr文件夹并执行此操作..
bin/solr delete -c collection_name
并使用
重新启动solrbin/solr restart
答案 1 :(得分:5)
根据本指南(https://cwiki.apache.org/confluence/display/solr/Collections+API),当您处于SolrCloud模式时,此API仅可用。
如果您只想删除核心或只删除该核心中的所有文档,请查看此处 - https://wiki.apache.org/solr/CoreAdmin
答案 2 :(得分:3)
n.b。经过 Solr 4.9 的测试, 应该使用更新的版本。
reader.GetValue(x).ToString()
答案 3 :(得分:2)
或者使用API执行此操作:
答案 4 :(得分:1)
你可以使用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 :(得分:1)
您可以通过两种方式删除Solr
集合。
1)在命令提示符下:
从您提取Apache Solr
的位置启动命令提示符。运行以下命令
Solr\bin>solr delete -c My_Collection
2)从Solr管理控制台:
/admin/collections?action=DELETE&name=collection
有关Apache Solr Collection API
的更多信息。
Apache Solr Collection API
答案 6 :(得分:1)
在最新版本的Solr中,您可以通过三种方式删除集合。
bin/solr
工具手动删除收藏集使用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 -XPOST 'http://localhost:8983/api/c' -H 'Content-type:application/json' -d '{
"create" : {
"name" : "test_collection",
"config" : "training",
"numShards" : 1,
"replicationFactor" : 1
}
}'
如果您计划很少删除集合,则可以手动执行。如果这是常用的方式(例如,使用别名和基于时间的数据),我建议使用V2 API,因为这是最新的API,并且可能会在某些时候替代旧的API。
答案 7 :(得分:0)
尽管Adam的回答是正确的,但以下是帮助使用它的文档:https://lucene.apache.org/solr/guide/7_7/collections-api.html#delete
我在这个问题上停留了一段时间,只是得到了无效的内核答案删除,我猜这曾经用于集合,但不适用于较新的版本。