如何在Solr中删除特定分片的文档

时间:2014-09-18 03:30:08

标签: solr solrcloud

我想删除Solr中特定分片的特定文档,下面是我的查询:

http://localhost:8080/solr/collections_1_replica1/update?stream.body=<delete><query>id:1</query></delete>&commit=true&distrib=false

但这仍然会对collections_2_replica1产生影响,因此在这种情况下,正确的查询是什么。

2 个答案:

答案 0 :(得分:0)

Tyr out this this:

curl http://xx.xx.xx.xx:8983/solr/collection_name/update/?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>id:1</query></delete>'

答案 1 :(得分:0)

如果您使用默认的Solr Cloud集合配置,Solr会根据文档ID(docId.hash()%分片数)选择放置文档的位置。

换句话说,您不应该从特定分片中删除,因为您无法确定文档是在那里还是在其他分片上。

如果我没错,则distrib = false参数在更新时无效。