gpt4 book ai didi

lucene - SOLR-Boost函数(bf)增加日期最接近NOW的文档的分数

转载 作者:行者123 更新时间:2023-12-04 05:27:39 27 4
gpt4 key购买 nike

我有一个Solr实例,其中包含文档,文档的'startTime'字段范围从上个月到现在为止。我想添加一个增强查询/函数来增强其startTime字段接近当前时间的文档的分数。

到目前为止,我已经看到了很多使用rord为新文档添加增强功能的示例,但是我从未见过这样的示例。

谁能告诉我该怎么做?

谢谢

最佳答案

如果您使用的是Solr 1.4+,则可以访问函数查询中的“ms”函数,而通过教科书提高标准的标准教科书方法是:

recip(ms(NOW,startTime),3.16e-11,1,1)

ms给出两个参数之间的毫秒数。整个表达式使现在日期的文档得分提高1,一年前的文档得分提高1/2,两年前的文档得分提高1/3,依此类推。(请参阅肖特·蒂姆(scott Timm)指出的 http://wiki.apache.org/solr/FunctionQuery#Date_Boosting。)

在您的情况下,您将来的文档过时,并且上述功能将为这些文档分配负分数,因此您可能希望输入一个绝对值,如下所示:
recip(abs(ms(NOW,startTime)),3.16e-11,1,1)

abs(ms(NOW,startTime))将给出startTime与现在之间的毫秒数,并保证为非负数。

那将是一个很好的起点。如果需要,可以调整3.16e-11的攻击性或攻击性。

切线地,ms函数仅适用于基于TrieDate类的字段,而不适用于经典的Date和LegacyDate类。如果您的schema.xml基于Solr 1.4的示例,那么您的日期字段可能已经采用了正确的格式。

关于lucene - SOLR-Boost函数(bf)增加日期最接近NOW的文档的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1486963/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com