A little bit of context:
I have a website that has many quotes. These quotes are organized automatically by Solr into lists of quotes, so e.g. there is a list called 'Smart Quotes' that includes some quotes from Einstein, Confucius, Platon, Nietzsche, etc. Solr returns a list of quotes based on a query that uses tags to identify a quote as "smart" or some other category.
A list returned by Solr can have from 0 to 1000 results. These results are split into pages to be presented to the user (my-website.com/smart-quotes/1/, my-website.com/smart-quotes/2/, my-website.com/smart-quotes/3/ ...)
Until here it's fine, the quotes are very relevant to the list. The problem is how quotes are ordered.
If I use something like Hotjar to track where users click or move their mouse, I can see that many times the first quote that appears on the list is not the most interacted with. Many times it's the 3rd, 5th or even the last one of a page. By more relevant, I mean the one that got the most clicks on and mouse moves.
Also if I go to the next pages of that list, I can manually identify quotes that are probably more relevant than the ones that appear on the first page.
the quotes in a list are relevant to the list itself
I have a way of extracting the user interaction data in any format I want
The current ordering is based solely on the Solr text analysis without having in mind any user interaction at all.
There might be other very relevant quotes that have no interaction whatsoever because they are on page 200 and no user gets there to read it.
What algorithm/machine learning method can be applied to this problem in order to get a list of quotes ordered "in a better way"? By that I mean it has in mind the user interactions with the quotes and can identify quotes that are relevant but are not seen.