We’re having some issues running a ranking system on a dynamic list of database entries.
Our setup is as follows:
Data Type: Sessions
The user performs a search query (an input form similar to Eventbrite where they choose a date and time from a date/time input) where we need to perform a calculation on the fly that gets all Sessions and ranks them on the fly using a point scoring system based on:
- How far away the session is from the selected date (in terms of days)
- How far away the session is from the selected time (in 30 minute intervals)
We’d then want to sort the returned sessions from low to high to show the closest matches to the user selected date/time in a repeatingGroup for the user to see.
Seems simple, but we haven’t yet found a simple way to do this that doesn’t touch the database excessively causing too much load time, or a way to carry the data through from one page (the input form) to the search_results page where we display the ranked sessions.
Very keen to hear your ideas