How to match people in preference ranked survey results?

I'm sending out a survey that I want to use to create pairs. For example, each person indicates whether they want to be a mentor, or a mentee. They then stack rank 10 topics that they're interested in either mentoring on or being mentored on, respectively.

My question is, given a list of mentors and mentees, how can I effectively calculate the most similar pairings?

Topic data-analysis ranking

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.