Solr日期提升并按相关结果排序不能正常工作

时间:2011-08-01 13:41:11

标签: solr lucene solrnet edismax

我正在实施Solr dismax搜索,并使用此函数recip(ms(NOW,PubDate),3.16e-11,1000,1000)进行日期提升。 Everthing工作正常,但只有一个问题。

如果在标题中重复搜索关键字,他们会得到比最近结果更多的分数。

e.g。 1)Title = solr lucene

日期= 1天

2)Title = solr lucene是最好的,爱solr lucene

日期= 15天

如果用户搜索“solr lucene”,那么#2只会在第一个位置出现,因为标题中会重复关键字。

我有太多的记录,这些记录是1,2或3天,它们甚至具有完全相同的标题“SOLR LUCENE”,但这些记录不会出现在第一页上,因为旧记录在标题中重复了关键字。

我不想完全按日期对结果进行排序。目前我正在这样排序。 sort =得分desc,日期asc

1 个答案:

答案 0 :(得分:2)

如果您使用的是boost,则不应使用order子句。 如果你想让日期更具相关性,那么你的增强功能就是如此。这取决于你,对搜索结果的顺序的日期影响是多大的。

它还取决于您使用的dismax处理程序:

{!edismax boost=recip(pow(ms(NOW,PubDate),<val>),3.16e-11,1,1)}

在0到2之间放置一个值而不是<val>占位符,其中0几乎是“按日期排序”,2是按相关性排序。

不确定,如果这适用于dismax,但它适用于标准solr搜索处理程序(使用上述示例之外的其他语法)和edismax。