繁体   English   中英

Solr:按日期进行的提升未按正确顺序返回,我的提升存在问题吗?

[英]Solr: boosting by date not returning in right order, is something wrong with my boost?

我正在使用Solr搜索事件,并且我需要按日期对事件进行增强,以便距离事件越近的当前日期,与具有相同名称但日期较晚的事件相比,其得分越高。 因此,2015年1月的“校友聚会”应该比2015年10月的“校友聚会”出现在结果列表上更高。

我阅读了Solr相关性常见问题解答,这是我在solr中使用的查询:

?q={!boost%20b=recip(abs(ms(NOW,dt_startdate)),3.16e-11,1,1)}searchterms&sort=score desc

它肯定会更改结果的顺序,但是顺序是错误的。 例如,我给我返回了四个结果的搜索之一是将它们返回为2012、2013、2014、2015,但应该相反(2015年4月vs 2014年4月,应该首先显示)。 我尝试只是将其更改为

sort=score asc

但是,与返回的顺序相反,该命令完全不同。 它去了2014年,2015年,2012年,2013年

我的提振有什么问题? 我相信,如果没有提高,它们的相关性应该都是相同的,因为包含我要搜索的术语的字段对于每个术语都是完全相同的。 实际上,在我加薪之前,订单更好 虽然不正确,但它到2014年,2015年,2013年,2012年的时间比现在更近了。

编辑:我意识到提升不一定会按日期顺序进行,这很好,但是9个月前的事件肯定会出现在2012年之前,特别是因为没有提升,2014年的事件就排在了最前面。名单。 目前,2012年将首先出现。

编辑2(重要) :好的,所以我决定检查有无加速情况下我的四个项目的得分。

2012:0.37118697提升:0.005060354

2013:0.4639837提升:0.005060354

2014:0.55678046提升:0.0044278097

2015:0.4639837提升:0.0044278097

因此,您可以看到,提升实际上使旧版本的旧版本 变得更糟 为什么这样做呢? 我真的不太了解提升的效果,所以我不知道为什么它会使分数变得更糟。

听起来您只是想根据日期对搜索进行排序,而不要使用增强功能-增强功能是使新文档趋向更高的趋势,而不是以降序/升序排列。

对于提升示例,将对不超过一年(iirc)的文档应用不同的提升,而较旧的文档将不会从该条款中获得任何提升。 请记住,其他搜索字词也会应用提升,并且这些子句的得分可能会比​​年龄增长的提升更高/更相关。

日期提升不是一门精确的科学,并且还必须根据您的其他提升来应用提升值(通过更改recip调用中的值或通过使用^ weight对其进行优先级排序)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM