如何在Solr文档中更新特定字段时将TTL设置为特定字段



假设一个Solr文档具有包含idscore的模式。对于每个id,我都会根据事件触发器更新分数。然而,我希望分数变成0或可能在一周左右后逐渐减少。基本上,我需要为score字段设置一个大约一周的TTL。或者我需要score的值与时间相关。

我没有将TTL设置为文档,因为我想保留id而不是score,一周后。这怎么可能实现?

我在网上浏览了很多,找不到解决方案。这就是为什么转向这里的专家在堆栈溢出。

请帮助! !

TTL用于在达到TTL后自动删除文档,而不是修改一个字段。

您要做的是按时间字段增强文档,如下所述。诀窍是recip函数。您可以进一步修改表达式,使boost在超过一周时为0,等等。

http://localhost:8983/solr/select?q={!boost b=recip(ms(NOW,manufacturedate_dt),3.16e-11,1,1)}ipod

最新更新