People search using proximity
First Claim
Patent Images
1. A non-transitory computer-readable medium embodying a program executable in a computing device, wherein when executed the program causes the computing device to at least:
- obtain a search string from a client;
obtain a user profile associated with the client from a directory of person profiles;
execute a name search in the directory using the search string, thereby obtaining a plurality of person profiles from the directory that at least approximately match the search string based at least in part on respective names associated with individual ones of the plurality of person profiles;
generate a corresponding proximity score for the individual ones of the plurality of person profiles based at least in part on comparing location information for the user profile with respective location information and department data for the individual ones of the plurality of person profiles, a weight of the department data being greater than a weight of the location information for the corresponding proximity score; and
generate a plurality of search results for the name search, individual ones of the plurality of search results corresponding to individual ones of the plurality of person profiles, the plurality of search results being ordered based at least in part on a name match quality of the respective names to the search string and the corresponding proximity score for the individual ones of the plurality of person profiles to the user profile.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for providing a people search that uses proximity in ranking results. A search query for a person is obtained from a user. The search query is executed on a directory comprising profiles that each correspond to a respective person. Resulting profiles that match the search query are thereby obtained. The resulting profiles are ordered based at least in part on a measure of proximity of each respective person to the user.
24 Citations
21 Claims
-
1. A non-transitory computer-readable medium embodying a program executable in a computing device, wherein when executed the program causes the computing device to at least:
-
obtain a search string from a client; obtain a user profile associated with the client from a directory of person profiles; execute a name search in the directory using the search string, thereby obtaining a plurality of person profiles from the directory that at least approximately match the search string based at least in part on respective names associated with individual ones of the plurality of person profiles; generate a corresponding proximity score for the individual ones of the plurality of person profiles based at least in part on comparing location information for the user profile with respective location information and department data for the individual ones of the plurality of person profiles, a weight of the department data being greater than a weight of the location information for the corresponding proximity score; and generate a plurality of search results for the name search, individual ones of the plurality of search results corresponding to individual ones of the plurality of person profiles, the plurality of search results being ordered based at least in part on a name match quality of the respective names to the search string and the corresponding proximity score for the individual ones of the plurality of person profiles to the user profile. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
at least one computing device; and a people search application executable in the at least one computing device, wherein when executed the people search application causes the at least one computing device to at least; obtain a search string from a client device; identify a user profile of a user; execute a name search for the search string on a directory, thereby obtaining a plurality of resulting profiles, individual ones of the plurality of resulting profiles comprising a name that matches the search string; determine a name match quality for individual ones of the plurality of resulting profiles based at least in part on the search string; determine a profile proximity for individual ones of the plurality of resulting profiles to the user profile based at least in part on a comparison of department data and location data for the user profile with department data and location data for the individual ones of the plurality of resulting profiles, a weight of department data being considered greater than a weight of the location data for the profile proximity; and generate a plurality of search results for the name search, individual ones of the plurality of search results being ordered using the name match quality based at least in part on the search string and the profile proximity for the individual ones of the plurality of resulting profiles to the user profile. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
obtaining, in at least one computing device, a search string and an identification of a user; determining, in the at least one computing device, a plurality of profiles in a person profile directory that match the search string; determining, in the at least one computing device, a name match quality score and a proximity score for each of the plurality of profiles, each name match quality score indicating a measure of quality of a match between the search string and a respective name field included in a respective profile, each proximity score indicating a measure of proximity between a user profile associated with the user and the respective profile based at least in part on a location, a department, and a team identified for each of the user and the respective profile, a weight of the department being greater than a weight of the location for the proximity score; and generating, in the at least one computing device, a listing of the plurality of profiles that is ordered based at least in part on corresponding name match quality scores of the respective name field to the search string and corresponding proximity scores of the respective profile to the user profile. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification