Hey Guys,
Having a strange problem here. Take a look at these results: https://api.themoviedb.org/3/discover/movie?api_key=[APIKEYHERE]&language=en&sort_by=vote_average.desc&include_adult=false
The second result is "Dancing With Danger". Now take a look at that same query used in my app: https://ibb.co/dZiFHa
The URL pasted above is taken directly from the following method's output:
public static URL buildUrl(String sortParam, String languageParam) {
Uri builtUri = Uri.parse(BASE_URL).buildUpon()
.appendQueryParameter(API_KEY_PARAM, API_KEY)
.appendQueryParameter(LANGUAGE_PARAM, languageParam)
.appendQueryParameter(SORT_PARAM, sortParam)
.appendQueryParameter(ADULT_FILTER, ADULT_FILTER_VALUE)
.build();
URL url = null;
try {
url = new URL(builtUri.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
}
Log.e("URL", url.toString());
return url;
}
Not entirely sure what's happening here... Any thoughts? When sorting by popularity, my app generates the correct list of movies. Happy to provide more code upon request. Movie titles/images are being loaded into a RecyclerView.
EDIT: Moved to correct category, additional info added.
Δεν μπορείτε να βρείτε κάποια ταινία ή σειρά; Συνδεθείτε για να τη δημιουργήσετε.
Θέλετε να αξιολογήσετε ή να προσθέσετε αυτό το στοιχείο σε μια λίστα;
Δεν είσαι μέλος;
Απάντηση από τον/την Travis Bell
στις 5 Ιούνιος 2017 στις 11:50 ΕΊΜΑΙ
Hi Michael,
There's no secondary sort index being used to sort so in this case, when there's hundreds (thousands?) of items that have the same
vote_average
, Elasticsearch doesn't have any way of guaranteeing the order. Best I can tell, it's just a runtime calculation.It's nothing to do with your app, or your browser. Refresh either one enough times and you'll see the orders shift around slightly.
In order for me to fix this I would need to have a secondary sort index, ie. a "tie breaker". I've created a new ticket for this here. Although I am not sure when I'll have time to look at it.
Απάντηση από τον/την morosphere
στις 5 Ιούνιος 2017 στις 11:52 ΕΊΜΑΙ
Hey Travis!
Thanks so much for the answer. Increasing the vote_count.gte solves this issue nicely. I'm happy for you to close the ticket you opened :)
Απάντηση από τον/την Travis Bell
στις 5 Ιούνιος 2017 στις 11:58 ΕΊΜΑΙ
Happy to help! You're welcome.
Απάντηση από τον/την Travis Bell
στις 16 Οκτώβριος 2017 στις 05:47 ΜΜ
This should have been fixed a few weeks ago, I just forgot to post an update about it. Sorting now uses secondary indexes to guarantee sort order consistency when there's a tie.