假设一个Solr文档具有包含id
和score
的模式。对于每个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