-
Notifications
You must be signed in to change notification settings - Fork 5
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
Recalculate total score and accuracy during indexing #126
Conversation
Is total_score not set or something? |
legacy total score still need to be indexed (and added to schema). Also I think there's another problem with having two different total scores as there can only be one sort option... I don't know how to fix it yet (short of having two different indexes). @peppy suggested adding legacy score flag to the index and if the data contains Sort field settings in the schema ( |
Yeah, I've yet to add In terms of you displaying them on the same leaderbords - you can. It just depends on whether users want to see stable-only scores (use |
it's elasticsearch thing. The data need to be stored in one specific order so it can be accessed quickly. It's currently sorted by Looking at how classic score is calculated for lazer scores, it's probably feasible to index them by classic scoring...? |
Classic scoring matches standardised scoring, it's a constant (beatmap-wide) multiplier on top. It doesn't match osu!stable unfortunately. |
At any rate, only one set of fields can be sort optimised. Currently it's Hence the suggestion above to store total score for legacy ( |
The reason I mentioned classic scoring mode is if it makes sense displaying legacy and lazer score in same list, where total score for legacy is using The only missing case would be showing legacy score in standardised unless it can just be the inverse of |
Yes, ordering scores by classic score or standardised score doesn't change ordering between those two scoring modes. But classic score can't be compared to legacy score since they're not necessarily even on the same magnitude scale. For example mania scores exceed 1M score in "classic" mode, whereas they can't in legacy. So the options would be to either display everything in standardised/classic scoring mode with the new ordering, or display just legacy scores with the legacy total score (and not display new scores). Eventually everything will be displayed with the standardised/classic scoring mode, so legacy scores are converted and is exactly what the code in this PR does. The only reason for So perhaps having two leaderboards, one which is "legacy" and displays just legacy scores, and an "osu!lazer"/"next" leaderboard that displays everything. Is that not possible?/Is the |
Also please provide input on how leaderboards should be displayed @peppy |
;Primarily, we are looking to migrate existing scores to the new table format. We are not changing score display. To make this work short-term, the elastic schema needs a valid index that will allow displaying
As mentioned by @nanaya, two different sort indices cannot exist, so the proposal is to have one The above is only for ES. |
Alright, sounds fine. |
@notbakaneko please check if I'm missing something or if there's better way to handle this |
So, how many types of ordering are there going to be?
If both are there, then ordering the index by Which score is being calculated by Re: auto-generating, means they can't be accessed directly by |
It may also be worth considering enabling |
What is the |
id is |
I think the problem is that there's two conflicting ideas. Going by peppy's idea:
Then the above are non-issues, correct? Because ID is unique to the scoring method of that ID - legacy or non-legacy. I.e. we'll never display osu!lazer+osu!stable scores on the same leaderboard for now. |
Whether they're displayed together or not isn't relevant - is a single
If it does then they should be stored as separate documents in the index |
The display is the sort. SoloScore (legacy) will only have |
|
They're already two different scores. Lazer scores come from lazer client (and only have lazer total score), stable scores come from stable client (and only have legacy total score). |
Then |
Going to close this PR for now then, reimplementation will differ a bit. |
Prereqs:
SoloScoreInfo
model from osu.Game #125ScoreProcessor.ComputeScore()
methods osu#20008I've tested that this indexes the scores with the re-written
total_score
/accuracy
members, but I don't know how to test beyond that. Appreciate guidance/testing by others.