2011-02-03 114 views
1

我正在寻找一种将随机噪音引入我的得分函数的方法,而且我对如何最好地继续进行处理感到茫然。Solr得分中的随机噪音

一些背景资料:

我们使用的Solr的管理照片大十岁上下集机构的Web应用程序。

一个客户具有用于刻划一个有趣的要求:

  • '质量' 字段中,由编辑保持,从1(最高)到3(最低);
  • “日期”字段,提升最近的照片;我可能会使用对数函数;

但是,由于股票照片市场如何运作,这可能会导致许多类似的照片一起出现。 他们的要求是提高“质量”,但会引入一些随机性,以便照片不会以严格的日期顺序出现。

有什么想法?

编辑:一个关键的要求是有“稳定的”查询结果:如果我搜索两次“热带岛屿”,我可以得到一个稍微不同的结果集,但如果我要求第一页,然后第二页,然后第一,我最好得到相同的结果:)

+0

而且没有其他领域用于评分?只有质量和日期?你想在每个搜索或可重复的随机顺序随机结果? – morja 2011-02-03 22:12:25

回答

2

原来我的第一个解决问题的方法是正确的,而且我有一个微不足道的执行错误。以帮助其他人:

RandomSortField确实具有我需要的特性(即,为同一查询返回可重复的结果)。 撇开FunctionQuery了一会儿,甚至一些小事,如:

sort=quality_i asc, date_d desc, random_12345 desc

将接近我的要求。

然而,利用太阳黑子红宝石宝石的时候,有没有合格的种子的方式,这就是前面所欺骗我,我结束了每次使用不同的种子,从而得到“真”随机结果。

2

你可以用FunctionQueries做到这一点。为每张照片添加一个随机数接近1的字段(例如0.99,1.02),并将其用于产品功能查询中以更改“自然”分数。