根据文档的年龄更改solr中字段的值

根据文档的年龄更改solr中字段的值,solr,Solr,在我的solr模式(Solr4.1)中,我有两个字段 <timestamp> <status> 我想更新/更改14天以上文档的状态,但不想从索引中删除它们 我现在像这样删除它们 curl http://localhost/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>timestamp:[* TO NOW-14DAYS] &l

在我的solr模式(Solr4.1)中,我有两个字段

<timestamp>
<status>

我想更新/更改14天以上文档的状态,但不想从索引中删除它们

我现在像这样删除它们

curl http://localhost/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<delete><query>timestamp:[* TO NOW-14DAYS] </query></delete>'
curlhttp://localhost/solr/update?commit=true -H“内容类型:text/xml”--数据二进制“时间戳:[*到现在-14天]”
我想知道是否可以根据时间戳值确定的文档年龄,将状态字段更改为一些标称文本值“过期”或“存档”等


谢谢

我可以用以下方式解决这个问题。 似乎Solr可以通过查询等方式删除,但不能通过查询方式更新。 在我的例子中,我只是想更新文档的一个字段,而不是重新索引文档,也不是删除文档,只是根据文档的年龄进行更新(例如,使文档过期,但仍保留在索引中,以便在需要时可以找到它)

我所做的是使用csv响应编写器,将查询时间戳:[*到现在-14天]保存到csv文件中。 现在我有一个csv文件,其中包含上述查询(或您需要的任何查询)中的所有文档

然后,您可以快速查找/替换要更改的值,例如“已发布”更改为“未发布”或其他内容。 保存csv。 重新索引/提交

总共花了5分钟

Solr4.x确实需要一个查询更新字段,但这对我来说是一个非常简单的解决方法