in

Dot Net Mafia

Group site for developer blogs dealing with (usually) .NET, SharePoint, Office 365, Mobile Development, and other Microsoft products, as well as some discussion of general programming related concepts.

This Blog

Syndication

Archives

Corey Roth [MVP]

A SharePoint MVP bringing you the latest time saving tips for SharePoint 2013, Office 365 / SharePoint Online and Visual Studio 2013.

A quick look at phonetic People Search in SharePoint 2010

Maybe you hadn’t noticed, but talking about Search is my favorite topic in SharePoint (with ECM closely following it). :)  This is why I am so excited about the new features we are seeing in Enterprise Search.  Wildcards and built in refinement were enough to bring a tear to my eye, but People Search is what I think a lot of people will be impressed by.  You see People Search is the gateway to many of the new social aspects in SharePoint 2010.  Your old stuffy CIOs are going to absolutely hate it (since they were probably the ones that blocked twitter and facebook at your organization).  The new hip CIOs that find value in social media are going to totally embrace it and organizational efficiency and the sense of community is really going to go up.  Not to tangent on the whole social thing though, let’s just take a look today at how it’s easier to find people in SharePoint 2010.

Let’s consider my great new fictitious company.  It’s not a big company but there are a number of employees.  Ok, so my fake company isn’t as complete as the one we have seen at the demos at SPC or anything, but hopefully you get the point.  Consider the following users stored in Active Directory.

PeopleSearchActiveDirectory

To work with People Search, you must first have successfully configured user profile synchronization, set up a connection, and then done a full crawl on your Local SharePoint Sites content source.  If your user profile synchronization service isn’t working, do yourself a favor and just reinstall because you will never get it to work.  The content source still uses the sps3 protocol to crawl user profiles.  If no people are returned when you search make sure you have a content source setup using that protocol handler.  I’ll probably write another post on how to set this up pretty soon.

To get started with People Search we start with an Enterprise Search center and click on the people link which gives us a plain search box like the one below.

PeopleSearchStart

Let’s say that I need to lookup the phone number for my IT Director, Michael Adams.  I can of course type his full name in like this and get a result (this is what we basically had in SharePoint 2007).

PeopleSearchResultsFullName

We get a result as expected, but you know, I really don’t call him Michael, I call him Mike.  Shouldn’t that return me a result too?

PeopleSearchResultsPhonetic

Absolutely!  In SharePoint 2007, if you asked for that people would look at you like you wanted the impossible.  Now it works beautifully.    Clicking on the user’s name takes you to the profile page where all of the cool social stuff happens.  I could do several posts on it alone, but here is a quick look at what it looks like.  It allows you to see the org chart along with recent activities along with a corporate style facebook.  Very cool.

PeopleSearchProfile

What else can this thing do though?  Say we want to look up our Team Lead, Richard Jackson.  He doesn’t go by Richard though.  He goes by *** (no jokes please).  Will that yield a result?

PeopleSearchResultsPhonetic2

How cool is that.  The search engine seems to understand nicknames.  So this really isn’t necessarily happening phonetically, it just has a nice thesaurus in it now, but at SPC, we did see search examples where things were spelled phonetically and it worked.  I haven’t had a ton of luck getting that to work.  I also saw it work with non-English names.  Hopefully I can demo that stuff too pretty soon, but I still thought these things were worth showing off.

Let’s do one more example though.  Let’s say I know the last name of the person I need to contact is Williams.  We’ll pretend I am lazy and I only type in Willi in the search box.  Will that give me a result?

PeopleSearchNoResults

The answer this time is actually no.  People Search does support wildcards now, but it is not on by default.  Change the query to Willi* and we’re in business.

PeopleSearchResultsWildcard

It returns matches in both the first and last name.  Very cool.  I’d love to be able to inherit from the PeopleCoreResultsWebPart to add an option to allow wildcards all the time, but Harneet Sidhana [MSFT] does not think we should be able to.  Apparently the web part is perfect and no one would possibly ever want to change it.  Ok, so the web part is pretty cool, but I would like to make changes and that’s just not going to be possible. :-(

Stepping aside from that tangent, I have to mention the Organization Browser.  It’s a cool use of Silverlight that makes it very easily to browser the organization. 

PeopleSearchOrganizationBrowser

This picture doesn’t do it justice.  It certainly would be a lot cooler if I had pictures uploaded for all of my users.  From all of this, hopefully you can see that it should be a lot easier for end users to find people in your organization.  I’m really excited about these new features.

Comments

 

Murray said:

Partial name searching, such as the "Will" for "Williams" example that you gave is already available in SP2007. You just need to add the managed property in front of the criteria (LastName:Will).

A really easy solution is to build a web part that has input boxes for first name and last name and contains a button to execute the search. The web part can then pass the criteria along with the managed property data to the search results page.

We added a part like this to our portal homepage and with over 3000 searches for employees every day, I can't even imagine how many hours it has saved in 3 years.

March 11, 2010 5:05 PM
 

Rajesh Rathi said:

Very interesting read, thank you so much for this insight. I am waiting to go live with SP2010 once it is released.

March 12, 2010 11:08 AM
 

Sharepoint Active Directory said:

Pingback from  Sharepoint Active Directory

March 13, 2010 1:20 PM
 

Carmen said:

Hi!

I have Fast Search SErver for Sharepoint 2010, and I´ve noticed that this phonetic people search just works al Mozilla or Safari, no Internet Explorer!!!

Which Browser do you use???

thanks!!!

June 9, 2010 4:43 AM
 

CoreyRoth said:

Hmm, I've had no issue using IE so far.

June 9, 2010 9:56 AM
 

Silver said:

Hi!

Very good post, thank you for that. But still, you searched for Mike's phone number and didn't find any. Nor does this organization browser show any important information.

Is it possible to show phone numbers in search results or in organization browser somehow?

Thanks.

August 12, 2010 7:01 AM
 

Silver said:

Allright, I got it. Search results will show phone numbers once they're indexed, but organization browser still doesn't.

August 12, 2010 7:20 AM
 

CoreyRoth said:

@Silver Yes, you should be able to show the phone number in your results after it is indexed as you mentioned.  I don't know of any way to customize the organization browser (not saying it isn't possible though).

August 12, 2010 8:54 AM
 

Dharyl said:

How do you disable Phonetic Search? Is there a way to do this through PowerShell or through Central Admin configuration?

October 13, 2010 12:04 PM
 

CoreyRoth said:

The phonetic search is an option at the per query level, so PowerShell is not an option.  This isn't an option on the PeopleCoreResultsWebPart so that means if you want to disable it you are going to have to write your own search code using the UI.

Why do you want to disable it?  Most people want it to be easier to find people not more difficult. :)

October 13, 2010 12:45 PM
 

Dinesh said:

hi,

I have set up my search service on sharepoint site.now i am trying to  access it from .net code.My All site  scope is workign fine but when i use people scope its saying"errror no reslut found".Even its working in sharepoint configuration.Please help ...below is my code.

PeopleSearch.QueryService queryPeople = new PeopleSearch.QueryService();

     queryPeople.Credentials = System.Net.CredentialCache.DefaultCredentials;

     string a=  queryPeople.GetPortalSearchInfo();

       queryPeople.Url = "abbottppdviz/.../search.asmx";

       queryPeople.PreAuthenticate = true;

      string query = @"<?xml version=""1.0"" encoding=""utf-8""?>

                            <QueryPacket xmlns=""urn:Microsoft.Search.Query"" Revision=""1000"">

                              <Query domain=""QDomain"">

                                 <SupportedFormats>

                                    <Format>

                                       urn:Microsoft.Search.Response.Document.Document

                                    </Format>

                                 </SupportedFormats>

                                 <Context>

                                   <QueryText language=""en-US"" type=""MSSQLFT"">SELECT Title, WorkPhone, Department, Path, Description, Write, Rank,  Size  FROM Scope() WHERE  ""Scope"" = 'People' </QueryText>

                                 </Context>

                              </Query>

                           </QueryPacket>";

       string  resultString =  queryPeople.Query(query);

       DataSet ds = queryPeople.QueryEx(query);

Thaks in advance...

February 11, 2011 6:47 AM
 

CoreyRoth said:

@Dinesh You do not want to use Full Text SQL Queries here as they are considered deprecated.  You a keyword query instead.

www.dotnetmafia.com/.../use-keyword-query-syntax-instead-of-sql-syntax-for-sharepoint-2010-search-queries.aspx

February 14, 2011 8:49 AM
 

Eric Xue said:

I have a question here in regards to the phonetic People Search, which is just not working from my-end. My environment is based up on en-AU culture, so I guess, this might be the cause of it.

Would you be able to shed me some light on, in order to get this issue fixed?

all best

Eric

March 1, 2011 12:58 AM
 

People Search 0 | AllGraphicsOnline.com said:

Pingback from  People Search 0 | AllGraphicsOnline.com

March 2, 2011 8:23 AM
 

CoreyRoth said:

@Eric I haven't tried it with other cultures, but my understanding is that search does understand them, but it does vary by language.  Is it just not working at all?

March 8, 2011 11:19 AM
 

Matt P. said:

So I've got SP2010 up and running (did DB attach upgrade from SP2007), and I have an Enterprise search center that seems to work great.   However, there is a search box on my landing page that does not work.  

Let's see if I can explain better.  My site is cleverly answering on http://sharepoint.

If I go to http://sharepoint, it automatically redirects me to http://sharepoint/default.aspx

On that page I have "My Newsfeed" - with My Colleagues, my Interests, etc"  At the top of that page is a search box that says "Find People" - if I try to search in that box, it gives me a 404, and redirects me to:

http://sharepoint/SearchCenter/Pages/PeopleResults.aspx?k=Smith

If I search for Smith.   And it errors out, tells me the link is broken, etc.

Now - I have an Enterprise Seach center site located here:

http://sharepoint/sites/search/Pages/default.aspx

If I go there, I can search "all Sites" or "People", and it works like a charm.  I've set up scopes and such, but I have to be missing something.  And I'm pretty sure it's something stupid on my part.

Any help?

March 28, 2011 2:07 PM
 

Marten said:

Question: The part of the article where you search by using nick names is it not just that it search and finds results by surname and you could in fact just write somename Jackson and you would find Richard Jackson?

The phonetic search is that using soundex in sql server or is it some new feature from the FAST search solution?

Soundex in sql only supports English phonetics and that may not always work so great in other languages.

March 29, 2011 3:58 AM
 

CoreyRoth said:

@Marten Phonetic Search gives search the ability to break a part the names.  As another example, with a foreign name such as "Binh Le".  I could actually type in "Ben Lee" and it would return results even though it is a Vietnamese name.

April 4, 2011 1:22 PM
 

CoreyRoth said:

@Matt The URL to your search center can be set in two ways.  The default setting is set on your Site Collection under Search Settings.  However, it can also be overridden at the Scope level as well.  You can find these settings in your Search Service Application under Scopes.

This post is somewhat related and shows some of the screens involved.

www.dotnetmafia.com/.../configuring-contextual-search-to-use-search-center.aspx

April 4, 2011 1:24 PM
 

People Search Name | AllGraphicsOnline.com said:

Pingback from  People Search Name | AllGraphicsOnline.com

April 6, 2011 5:27 PM
 

Chien Yiing said:

Phonetic search just wont work on IE8. If you want to see how it works, you have to use another browser like Firefox. You may view my blog regarding this issue here.

chienyiing.blogspot.com/.../fast-phonetic-searching-for-names-is.html

June 25, 2011 4:51 AM
 

Nikhil Sankolli said:

Hi CoreyRoth,

Nice post! I have seen in many cases wildcard does-not function properly with people search, for example

willi* or *william it works, But wi*am will not give any results. Is this behaviour default right?... If right how can we overcome?

January 12, 2012 2:09 AM
 

CoreyRoth said:

@Nikhil Unfortunately, you can't do wildcard operators in the middle of a name.  However, you shouldn't need them very often. The phonetic search does a good job recognizing similar names even when you spell them poorly.

January 13, 2012 2:26 PM
 

MaryProchaska said:

Just learned a good one.  Be sure that you're default URL in AAM is the same address defined in your Content Source. If they don't match, you're "This Site" scope doesn't work.

February 2, 2012 12:08 AM
 

CoreyRoth said:

@B@LU I wrote a post on that already actually.  See this post for configuring people search.

www.dotnetmafia.com/.../how-to-set-up-people-search-in-sharepoint-2010.aspx

February 7, 2012 12:08 AM
 

@YLLB said:

Saludos,

Yo necesito que al hacer una busqueda por nombre solo me traiga las personas que tengan dicho nombre.

Ejemplo: Yo escribo en el cuadro de busqueda "Rosa" y quiero que me traigan las personas que se llamen Rosa.

Hasta ahora cuando hago la busqueda me trae Rosa y personas que no tienen que ver con rosa, que tengo que hacer en este caso ?

Gracias!!

February 10, 2012 9:01 AM
 

Jane said:

@YLLB

Necesitas cambiar una cosa en "Federated Locations" (Search Settings).

Local People Search Results -> Location Information -> Query Template.  Cambia "{searchTerms}" y poner "{searchTerms} AND (FirstName:{searchTerms} OR LastName:{searchTerms})"

Lo siento que mi espanol es mal pero esto va a buscar solo "Rosa".

August 20, 2012 11:12 AM
 

Ibheri said:

Nice post. Thnx. Is it possible to make Name as default in the refinement panel instead of All ?

September 18, 2012 1:07 PM
 

Keith Tuomi – SharePoint Server MVP SharePoint 2010 vs SP2010 + FAST vs SP 2013 Search Capabilities Comparison » Keith Tuomi - SharePoint Server MVP said:

Pingback from  Keith Tuomi &#8211; SharePoint Server MVP SharePoint 2010 vs SP2010 + FAST vs SP 2013 Search Capabilities Comparison &raquo; Keith Tuomi - SharePoint Server MVP

August 8, 2014 2:13 PM
 

SharePoint 2010 vs SP2010 + FAST vs SP 2013 Search Capabilities Comparison | Keith Tuomi - SharePoint Server MVP said:

Pingback from  SharePoint 2010 vs SP2010 + FAST vs SP 2013 Search Capabilities Comparison | Keith Tuomi - SharePoint Server MVP

February 13, 2015 3:51 PM

Leave a Comment

(required)  
(optional)
(required)  
Add

About CoreyRoth

Corey Roth is an independent SharePoint consultant specializing in ECM, Apps, and Search.
2015 dotnetmafia.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems