Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Rank im tree-objekt #6

Open
flash1293 opened this issue Aug 7, 2014 · 2 comments
Open

Feature request: Rank im tree-objekt #6

flash1293 opened this issue Aug 7, 2014 · 2 comments

Comments

@flash1293
Copy link

Ein neues Feld in den tree-objekten (neben votesUp und votesDown): rank. Ganzzahligen, gibt an auf dem wievielten Platz sich der Baum befindet in Sortierung nach votesUp-votesDown

@djschilling
Copy link
Owner

Es gibt ein paar Dinge die man hierbei beachten sollte, die zu Problemen führen könnte.

Der Rank kann nicht einmal in die Datenbank gespeichert werden und dann festbleiben, weil sich votesUp und votesDown ständig ändern können. Außerdem ändert sich der Rank auch wenn andere Trees hoch oder runter geranked werden.

Der Rank könnte also immer wieder zeitgesteuert für alle Trees berechnet werden und in der Datenbank abgelegt werden. Dann hat man allerdings nicht immer einen aktuellen Stand.

Man könnte auch bei jedem Request den Rank dynamisch berechnen. Das wäre allerdings wahrscheinlich zu rechenintensiv.

Außerdem stellt sich für mich noch die Frage ob in diesen "Rank" später noch weitere Faktoren (Votes in bestimmten Zeitramen, ...) miteinbezogen werden sollten und ob das hierbei zu beachten ist.

@flash1293
Copy link
Author

Hm, ich verstehe, dass es zu Problemen kommen könnte - ein CronJob wäre wohl das schlauste denke ich. Wenn es nur um votesUp-votesDown geht, ist die Berechnung nicht schwierig, lass dir einfach alle Bäume sortiert ausgeben und schreib dann für jedes Element den Index des Ergebnisses als Rank zurück. Wenn das zeitgesteuert ausgeführt wird, kann man den Algorithmus später ja auch komplizierter machen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants