ユーザーの投稿がコメント、好きなもの、作成されたものである場合、どのようにコメントや好きな数、 〜に最低。すべてのユーザーの投稿を最高から最低まで
1
A
答えて
2
あなたが探しているのはRanked Feedsです。順位付けされたフィードは、アクティビティのカスタムランク付けを可能にします。独自の数式を使用して、各アクティビティのスコアを計算することができます。あなたの活動に必要な情報(たとえば、likes_count
、comments_count
)がある場合は、これを使用してフィードをランク付けすることができます。ここで
は、ランキング式の簡単な例です:
{
"score": "likes_count + comments_count",
"defaults": {
"likes_count": 0,
"comments_count": 0
}
}
非常に一般的なアプローチは、活動の年齢でいくつかの人気のスコアを組み合わせることです。これを行うには、time decay関数の1つを使用し、結果に好きとコメントの合計を掛けることができます。例えば
:
{
"functions":{
"popularity_gauss":{
"base":"decay_gauss",
"scale":"5d",
"offset":"1d",
"decay":"0.3"
}
},
"defaults": {
"likes_count": 0,
"comments_count": 0
},
"score":"popularity_gauss(time) * (likes_count + comments_count)"
}
例では、スケール、オフセット及び減衰パラメータでdecay_gauss
関数を使用しています。選択したパラメータを使用すると、1日前のしきい値を超えたアクティビティのスコアが低下します。 5日齢の活動の場合、スコアは3分の1に減ります。
同期するデータ
我々はlikes_count
とcomments_count
は明らかに時間の経過とともに変化している例で使用される2つのカウンター。ランキングフィードが機能するには、これらの値を同期させる必要があります。活動データはで更新できます。
注:アクティビティ更新APIは部分的な更新をサポートしていないため、アクティビティをトランザクション的に更新しないでください(例:ユーザーがlike - > APIコールを送信してカウンタをXからX + 1に更新) X秒ごとにバルクで更新されます。
のcrontabたとえば5分ごと:
*/5 * * * * /path/to/script/update_activities_counters
関連する問題
- 1. リストを最高から最低まで並べ替えます
- 2. ユーザ入力を最低から最高まで並べ替え
- 3. ファイル内で最高から最低まで並べ替え
- 4. 最高から最低のループ
- 5. バブルソートによる最高から最低までの並べ替えの問題
- 6. Pythonは、.txtファイルのソートスコアが最高から最低まで
- 7. 組み込みなしで最高から最低までソート
- 8. 整理番号最高から最低まで
- 9. 整数を入力して最高から最低までソートする方法
- 10. RailsのSQL並べ替えの投稿最近の投稿投稿
- 11. リストを最高から最低の順にソート
- 12. orderbyをデータベースクエリで最高値から最低値に設定
- 13. すべての高値の最低値を見つける
- 14. 選択肢を最高から最低まで開始してください
- 15. Entity Framework/LINQを使用しているすべてのユーザーから最新の投稿を取得する
- 16. 最新の投稿
- 17. 最高値と最低値の検索
- 18. 最高値と最低値の決定
- 19. 最高と最低の平均C++
- 20. Wordpress投稿グリッド最後の投稿
- 21. mysqlクエリの最適化 - すべてのスレッドの最後の投稿を取得
- 22. WordPress、最高のコメントに基づいて投稿を表示
- 23. mysqlは最高値から最低値の順に行を表示します
- 24. ウェブサイトの最低高さ
- 25. コンソール入力を受け取り、最高から最低まで並べ替えます
- 26. Laravelの投稿の最大数でユーザーを並べ替える方法
- 27. mysql - ユーザー、投稿、コメントテーブルからコメント数とユーザーの投稿をすべて取得する
- 28. Rails:最新の投稿を除いた最新の投稿を表示する
- 29. ディクショナリのキーと値を最低から最高までの値でプリントアウトして行に印刷する方法
- 30. facebook壁(android + facebook)で最高得点を投稿する方法
これはあなたのデータ層です。投稿のランキングを表に追加し、日付とユーザー別にソートまたはグループ化します。また、コードと特定の問題に関する特定の質問を投稿することで、ここでより良い運を見つけることができます。 –