SOLR - Boost功能(BF),以增加其文件日期比分最接近NOW(SOLR - Boost

2019-08-16 23:28发布

我有一个包含其中有一个“开始时间”字段,从上个月到从现在起一年文档Solr的实例。 我想补充一个升压查询/功能,提升了的文件,其开始时间字段是接近当前时间的分数。

到目前为止,我已经看到了很多,其使用rord增加提升到谁是新的文件的例子,但我从来没见过像这样的例子。

谁能告诉我该怎么做吗?

谢谢

Answer 1:

如果你在Solr的1.4+,那么你必须通过近因是提高访问函数查询了“毫秒”功能和标准,教材的方法:

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

MS给它的两个参数之间的毫秒数。 作为一个整体的表达增强分数由1文档现在过时文档注明日期,由1/2日期为1年前的文档,通过1/3 2年前,等等。(见http://wiki.apache.org / solr的/ FunctionQuery#Date_Boosting ,肖恩蒂姆指出。)

你的情况,你对未来有日期的文档,以及那些将获得分配由上述功能的负分,所以你可能会想在绝对值上扔,就像这样:

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

ABS(MS(NOW,开始时间))会给startTime和现在之间毫秒,保证非负的#。

这将是一个很好的起点。 如果你愿意,你就可以调整的3.16e-11如果它过于侵略性的还是不够侵略性。

切向中,MS功能将仅基于该TrieDate类,而不是经典的日期和LegacyDate类领域的工作。 如果您的schema.xml是基于例如一个Solr的1.4,那么你的日期字段可能是正确的格式了。



Answer 2:

您可以在Solr的1.4做日期的功能。

http://wiki.apache.org/solr/FunctionQuery#Date_Boosting



文章来源: SOLR - Boost function (bf) to increase score of documents whose date is closest to NOW
标签: lucene solr