The Movie Database Support

is there a way to sort any query in a certain order that is different from what the query returns? for example, alphabetical, or by release date, etc.

4 replies (on page 1 of 1)

Jump to last post

Hi vshwnth2,

You can't sort search results but you can sort the discover pages. Here's an example of movies that are rated PG-13 or less sorted by popularity:

http://api.themoviedb.org/3/discover/movie?api_key=###&certification_country=US&certification.lte=PG-13&sort_by=popularity.desc

You can read more here: http://docs.themoviedb.apiary.io/#discover

Cheers.

I'm also interested in this use case. For instance, when using search/multi for "Star Wars", we get 77 results split across four pages. However, 80%+ of the time, the user is looking for "Star Wars: Episode IV - A New Hope" (id 11), and that is pretty easy to pick out as a top result when considering the popularity and vote_count values. Unfortunately, it is not the top result in search and I don't want to have to pull all search result pages in order to sort. What should I do here?

Hi joshjordan,

Search will never support sorting as it's designed to a sorted 100% by relevance while being boosted by popularity to help narrow results. In this case, "Clone Wars" is above "A New Hope" because the word "Wars" is in the title twice so it's believed to be a much more relevant result.

Search goes incredibly sideways when you don't sort by the calculated Lucene score in ElasticSearch.

As always, the more you type the better the results:

https://api.themoviedb.org/3/search/multi?api_key=###&query=star+wars+n
https://api.themoviedb.org/3/search/multi?api_key=###&query=star+wars+new
https://api.themoviedb.org/3/search/multi?api_key=###&query=star+wars+a+n
https://api.themoviedb.org/3/search/multi?api_key=###&query=star+wars+4

Cheers.

Wow - thanks for your quick reply. Appreciate it, Travis!

I understand what you're saying with regards to relevancy, but real-world relevancy means more than just string matching amongst the movie title(s). In the real-world use cases we've tested, Clone Wars is much less relevant than A New Hope for the query "Star Wars", even though "Wars" appears twice - that's not something the user cares about. We've given the advice to our users to use more specific search terms many times and in many ways, but many people still think "Star Wars" is the right thing to search for, so they just aren't going to do that. I can type "Star Wars A New Hope" no problem, but I'm not concerned with my own use case, I'm concerned with end-user behavior. Lucene and Elasticsearch have powerful weighting functionality to balance string-matched Queries with other relevancy parameters, such as popularity.

I think I agree with your goal here: sorting 100% by relevance, but I am skeptical that the definition of relevance is just focused on search terms, from the perspective of the end-user. Does that make sense?

Can't find a movie or TV show? Login to create it.

Global

s focus the search bar
p open profile menu
esc close an open window
? open keyboard shortcut window

On media pages

b go back (or to parent when applicable)
e go to edit page

On TV season pages

(right arrow) go to next season
(left arrow) go to previous season

On TV episode pages

(right arrow) go to next episode
(left arrow) go to previous episode

On all image pages

a open add image window

On all edit pages

t open translation selector
ctrl+ s submit form

On discussion pages

n create new discussion
w toggle watching status
p toggle public/private
c toggle close/open
a open activity
r reply to discussion
l go to last reply
ctrl+ enter submit your message
(right arrow) next page
(left arrow) previous page

Settings

Want to rate or add this item to a list?

Login