Matching users to each other automagically
Anybody have any useful tips on trying to match users through a common taxonomy or CCK field? I'm aware of the Node Matching module (http://drupal.org/project/matchapi) and related User Matching (http://drupal.org/project/usermatch), but they're not quite working for me. I would really like to be able to do more than just create a view that lists other users with a given tag (currently in place on my site using an "interests" vocabulary).
What I'm really looking to provide would be a block (or other display) that lists, say, up to 10 other users with at least 3 tags in common with me. Better yet, User A has three tags in common with me, has a role of "student", and filled in a CCK field with a value that matches XXXX.
This sounds suspiciously like a View, but I'm not finding it easy to create one that does anything more than list a number of other users with ONE tag in common. I could add filtering by taxonomy, but I'm really hoping to give the user a pre-matched list.
Anyone have something like this working? Care to share how you pulled it off?

Use node profile and then
Use node profile and then you can apply a vocabulary to the content type used as node profile makes it easy to find all users with the same interest. Paired with views and it easy to find all users with interest X. You can also by using exposed filters reduce the list by all people who also have a CCK field set to Y and also by role
And while you can use views to list people with interests A and B and C (or even A or B or C) it does not have feature to find people with N interests in common so that would take a custom module. Note given enough users and interests that question takes time to answer.
it does not have feature to
Yeah, this is what I was looking to get. I have views set up to show "all other users who are interested in ice-cream", and I've filtered taxonomies before - giving the user the ability to do like you said, but I was really hoping to come up with content recommendation such as "Since you're interested in A and B and C (or even A or B or C), then you'd probably also like Node 1, since it is tagged both B and C (basically sorting the view according to number of tags in common).
There are some other "related content" modules out there that I might try too.
The original function I was asked to implement would be something like a personality quiz that asks "Do you prefer animals or plants? Hot foods or cold? Books or movies?" and then spits out a content (whether blog posts or user profiles) list ranked by "relevance" to my interests.
I think these other avenues will end up being acceptable, however.
N interests in common
Assuming the Interests in Common is from a very large set ("Liberation Theology" "Scooby Doo" and "Thai Cooking" are all possible interests), N-interests-in-common could be calculated/maintained by some non-Drupal process, that would create a table of pairs of names. So the matches would be "on tap". Then a module would involve little more than looking up the UID of the logged in person, right? That is - wouldn't it be trivial, if you had a table already created in your database of pairs of UIDs, to show the names of any UID who matched yours?
LibraryThing.org does a similar thing - shows you a list of other users who own the same books as you do - I'd guess it's not calculated dynamically. (Not that thats a drupal site, I'm just saying it seems like the calculation shouldn't be performed by CMS software)
On the other hand, if there were a small enough set of interests in common, is there some egghead computer science gimmick of assigning them to a bitfield, and could a relational database figure out anything about number of bits in common?
Curious what became of this
Curious what became of this ... update as to what you did?