1

I'm working on an application that has many many-to-many relationships.

In this applications there is a search feature.

With this search you are able to search for a person.

A person can belong to one or many companies, and may(but not necessarily) have a different set of contact information for each company.

Because our users need to be able to edit contact information based on the person-company relationship, I am currently returning each relationship to the search results.

eg.

Results:

John Doe - Company A John Doe - Company B John Doe - Company C

This becomes an issues for multiple reasons like resources and confusion, as sometimes very subtle changes in contact information make identifying the desired result very time-consuming.

Does anyone have an example or solutions for searches dealing with very similar results or relationships.

  • This sounds like the search on Facebook to a certain extent. Different people with same names and potentially same company affiliation. Why not try to mimic what Facebook is doing? – Majo0od Jan 29 '14 at 17:24
  • I find what makes Facebook result's easy to identify are the profile images, unfortunately this is for an internal application, so photos are not an option. – Mark Jan 29 '14 at 17:36
  • 1
    I see. Then there has to be an identifying feature to separate similar data. – Majo0od Jan 29 '14 at 17:51
2

One thing you could do is look to how mobile phones, where you can associate multiple pieces of similar contact information with a person. That way a person can search for and get back one person, but make changes only to the contact information related to their specific company relationship.

Here's a quick Photoshop job of an Android interface to illustrate my thoughts. enter image description here

  • This is a person's profile as opposed to the search function which is what Mark wants. Additionally, there are no profile photos, so having that very distinct element to allow similar data to be separated isn't available. – Majo0od Jan 29 '14 at 17:57
  • I think this would work even without the photo there and just the username to identify the person. – smurf Jan 29 '14 at 20:25
  • @Majed The idea would be that when a person searched they would just return a list of names. The secondary level of detail (companies) could be listed after choosing a name to avoid having multiples of the same name in the search results. – Elle_Underscore Jan 30 '14 at 15:17
1

You can simply group them, so that you list a single user with all his company affiliations.

Your search results will look something like this

Person: Michael Jackson 

  - Occupation: singer (The Jackson 5) 
  - Occupation: owner (Neverland ranch)

Person: Michael Jackson 

  - Occupation: researcher (AT & T)
  - Occupation: writer (ACM Press) 

Person: Michael Jackson 

  - Occupation: journalist (independent) 
  - Occupation: TV show host (BBC) 
  - Occupation: writer (Dorling Kindersley) 

That way, it is clear which records belong to the same person, and you can also guess well if a person with a given name is the one you are searching for. Even if you didn't know that Prof. Michael Jackson is a researcher at AT & T, it is clear from the other occupation that it is the second result which belongs to the computer science professor Michael Jackson, not the other ones, even if you don't have a photography to show.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.