I am developing an application which works similar to Tinder. I am guessing Tinder groups closest results by running clustering algorithm. In my application have to similarly group data based on geographical location. I might have to run clustering based on many inputs, so it has to be efficient. Please suggest suitable algorithm for it.
There is no reason to group or cluster for a Tinder-like use case:
What you want to use is similarity search. Find other users that are a) nearby, b) recently online, c) have some interests in common, d) have not been recently shown.