我们正在尝试使用以下命令执行基于日期的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'
答案 0 :(得分:0)
从solr
删除数据时无法添加限制。
您可以Solr
或Id
从Query
删除数据。
按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;将相关集合聚合到组合视图中。然后,只需重新发出带有不同集合列表的新别名命令,就可以完全删除旧的集合。