高度な画像共有Webアプリケーションを構築しています。ご想像のとおり、ユーザーは画像をアップロードしたり、他のユーザーが画像にコメントしたり、投票したり、お気に入りに追加したりできます。これらのイベントは、私が「カルマ」フィールドでキャプチャした画像の人気を決定します。
次に、Diggのようなホームページシステムを作成して、最も人気のある画像を表示したいと思います。私はすでに加重カルマスコアを持っているので、それは簡単です。それを降順に並べ替えて、最も価値のある20枚の画像を表示します。
足りない部分は時間です。非常に人気のある画像を常にホームページに表示したくありません。簡単な解決策は、結果セットを過去24時間に制限することだと思います。ただし、画像の回転を1日中継続させるために、時間はオフセットが画像の並べ替えに影響を与えるある種の変数である可能性もあると思います。
具体的な質問:
- 簡単なシナリオ(24時間以内に最高の画像を並べ替えるだけ)またはより洗練されたシナリオ(並べ替えの一部として日時オフセットを使用)をお勧めしますか?後者にアドバイスする場合、これに対する数学的解決策について何か助けはありますか?
- ホームページの画像をマークするためにスケジュールされたサービスを実行するのが最善でしょうか、それとも直接クエリをアドバイスしますか(私はMySQLを使用しています)
- 補足として、ホームページはページングをサポートする必要があり、静かな日には、常に「いっぱい」になるように前日のエントリを含める必要があります
私はコミュニティにこのアルゴリズムを構築するように求めているのではなく、アドバイスを探しているだけです:)