如何根据我的排名顺序随机化CloudSearch的结果

时间:2014-01-16 14:10:06

标签: c# random ranking amazon-cloudsearch

我的场景基于.NET C#中的Web门户,它使用Amazon CloudSearch来显示娱乐事件。这是我的searchURL:

http://search-events-sz5bnsbiljweiirjdddbhagoj4.us-east-1.cloudsearch.amazonaws.com/2011-02-01/search?bq=startdate_unit:20140115..20140121&size=50&start=0&facet=categoryname,countyname,venuename,startdate_unit&return-fields=order%2Cscore%2Ccreateddate%2Cstartdate_unit%2Cstarttime%2Cshortdescription%2Csubtext%2Cvenuename_result%2Cimage&rank=-order,-score&results-type=xml&results-type=xml

如何在我的搜索中使用rand()函数,按-order,-score?

排名

你可以看到我已经设置了我的" rank = -order,-score"在哪里"订购"按日期或具有不同类别的重复事件给出重复事件。 "得分"由我的前端应用程序给出,通过完整性为每个事件分数。

由于我可以拥有数千条订单= 1000且得分= 100的记录,我想有机会让所有记录都有机会在我的搜索结果中随机化我从CloudSearch获得的结果其中1000记录的订单= 1000且得分= 100或具有相同的值。

通过在我的排名上使用rand()可以解决这个问题,或者我可以用什么CloudSearch功能来解决这个问题?

1 个答案:

答案 0 :(得分:1)

谁可能会担心。 我已经找到了如何通过配置由rand()函数组成的秩表达式来解决它:

&安培;秩表达式1 = RAND()

然后,我将此表达式用作三级标准:

秩=阶,-score,表达式1