Sto costruendo un'applicazione di condivisione di immagini avanzata. Come ci si potrebbe aspettare, gli utenti possono caricare immagini e altri possono commentare, votare su di esso e favorirlo. Questi eventi determineranno la popolarità dell'immagine, che catturo in un campo "karma".Una home page rotante simile a Digg di contenuti popolari, come includere la data come fattore?
Ora voglio creare un sistema di homepage di tipo Digg, mostrando le immagini più popolari. È facile, dal momento che ho già il punteggio Karma ponderato. Ho semplicemente deciso su quello in modo discendente per mostrare le 20 immagini più apprezzate.
La parte mancante è tempo. Non voglio che le immagini estremamente popolari siano sempre sulla home page. Immagino che una soluzione facile sia limitare il set di risultati alle ultime 24 ore. Tuttavia, sto anche pensando che, al fine di mantenere la rotazione dell'immagine durante il giorno, il tempo può essere una sorta di variabile in cui il suo offset ha un'influenza sull'ordinamento dell'immagine.
Domande specifiche:
- Raccomanderesti lo scenario facile (appena sorta di migliori immagini entro 24 ore) o il più sofisticato (uso datetime compensati nell'ambito di smistamento)? Se consigli a quest'ultimo, qualche aiuto sulla soluzione matematica a questo?
- È consigliabile eseguire un servizio programmato per contrassegnare le immagini per la home page o si consiglia una query diretta (sto usando MySQL)
- Come nota aggiuntiva, la home page dovrebbe supportare il paging e in modo silenzioso giorno dovrebbe includere voci di giorni prima, al fine di assicurarsi che sia sempre "riempito"
non sto chiedendo la comunità per costruire questo algoritmo, solo in cerca di qualche consiglio :)
C'è questa formula di Bernoulli per ordinare le cose che è possibile modificare per prendere tempo come parametro. In questo momento non ricordo il nome, forse qualcuno lo farà. (È un nome lungo e lungo) – Ben