Solr删除通过限制文档数量

时间:2016-05-18 00:58:45

标签: apache solr lucene http-delete

我们正在尝试使用以下命令执行基于日期的Solr文档删除。 是否可以限制否。文件说200K?

curl http://localhost:8983/solr/keyspace.core/update?commit=true --data '<delete><query>timestamp:[* TO NOW/DAY-30DAYS]</query></delete>' -H 'Content-type:text/xml; charset=utf-8'

2 个答案:

答案 0 :(得分:0)

solr删除数据时无法添加限制。

您可以SolrIdQuery删除数据。

按Id

删除文件
http://localhost:8983/solr/update?stream.body=
<delete><query>id:298253</query></delete>&commit=true

如果要删除与多个字段匹配的项目,只需添加另一个查询:

http://localhost:8983/solr/update?stream.body=
<delete><query>id:298253</query>
<query>entitytype:BlogEntry</query></delete>&commit=true

如果要删除索引中的所有项目..

<delete><query>*:*</query></delete>

答案 1 :(得分:0)

有效处理从大型集合中删除旧文档的一种方法是首先没有单一的集合。这经常出现在存储不断累积日志的集合中。

解决方案是使用collection aliases并使每个单独的集合代表一个特定的时间段,其中包含&#39;别名&#39;将相关集合聚合到组合视图中。然后,只需重新发出带有不同集合列表的新别名命令,就可以完全删除旧的集合。