索引期间的solr得分

时间:2015-07-31 13:44:24

标签: solr spring-data solrj solr4

我有一个事件搜索引擎,可以存储年龄范围(年龄,年龄)和日期范围(日期,日期,日期)。

我想为更具体的事件提供更高的分数。年龄范围和日期范围的差异越小,分数越高。即(1)年龄范围4-5的事件应该比年龄范围3-6的事件得分高。 (2)10月至11月期间的事件得分应高于10月至12月之间的事件。

我想知道是否有可能在索引时间或搜索期间提高分数。在索引时间内提高分数会很棒,因为无论搜索查询如何,文档的年龄范围和日期范围都是固定的。

我在我的应用程序中使用spring data solr将数据存储到solr。

1 个答案:

答案 0 :(得分:1)

可能的方法是在查询时使用以下方式提升:

q={boost b=recip(ms(age_from,age_to),k,1,1)}...

ms以毫秒为单位返回日期差异see here

recip(x,m,a,b)返回a/(m*x+b),因此与日期差异的倒数成比例。

我认为您必须为k

找到一个好的数值