根据文档的年龄更改solr中字段的值
在我的solr模式(Solr4.1)中,我有两个字段根据文档的年龄更改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
<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确实需要一个查询更新字段,但这对我来说是一个非常简单的解决方法