关于spring数据:索引期间的solr评分

solr scoring during indexing

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

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

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

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


一种可能的方法是在查询时使用:

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

ms 返回以毫秒为单位的日期差异,请参见此处

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

我认为你必须为 k

找到一个好的数值