当我在“Custom Ranking”下的Stream文档中遇到这一行时,我非常深入地将Stream集成到我现有的分页实现中(也用于对存储在MySQL中的非活动数据进行分页):< / p>
请注意:
offset
和id_lt
不能用于阅读排名的Feed。请改为使用score_lt
进行分页。
这似乎是文档中唯一提及score_lt
的内容。我无法在其他任何地方找到它,也无法找到它的价值应该是什么的例子。如果我对未排名的Feed进行分页,它是否应该与id_lt
使用的UUID相同?或者它是否意味着某种类型的分数值只能由排名的Feed返回?
通常情况下,我只是尝试看看,但排名Feed只适用于付费计划,而我仍在评估Stream。
这可能会对我如何实现分页产生重大影响,因为如果我继续使用Stream,我希望将来能够使用排名的Feed。
答案 0 :(得分:2)
使用特定排名配置从排名Feed中检索活动时,每项活动都会包含score
属性。您可以使用score_lt
对已排名Feed中的项目(以及limit
参数)进行分页。
(在对未排名的Feed中的项目进行分页时,我们通常建议使用id_lt
参数,该参数将按创建日期按照从最近到最近的时间顺序返回活动。但是,由于排名Feed中的旧内容排名可能高于新内容,因此我们必须通过score
属性进行分页和排序。)
-
每当您创建排名Feed时,您都会创建至少一个排名Feed Feed。我将命名我的排名Feed ranked-feed-config-one
(您可以拥有与您一样多的人),这看起来像这样:
{
"score": "decay_linear(time) * popularity ^ 0.5",
"defaults": {
"popularity": 1
}
}
每当您将新活动发送到流中时,您还会提供可选的popularity
参数。 (如果您不提供,popularity
将默认为1
。)
然后,每当您从排名的Feed中检索活动时,您都可以指定您要使用的排名配置(ranked-feed-config-one
),如下所示:
someFeed.get({ ranking: 'ranked-feed-config-one' })
每个活动都将以score
属性返回(并按其排序)。您将保存最后一个score
属性,并在为将来的分页调用提供score_lt
参数时使用该属性。
-
希望这有助于清理事情!让我知道是否有其他任何我可以帮助你解决的问题。
答案 1 :(得分:0)
您可以使用Limit & Offset Pagination
。
someFeed.get({limit:20, offset:20})