Since I’m talking about Enterprise Search tonight at OKCSUG, I thought I would write up a quick post on the steps you need to follow in order to get People Search working in SharePoint 2010. The critical piece of course is getting the User Profile Synchronizations service working. There are plenty of posts about it, so I’m not going to go into the details of how to get that part of it work. SharePointDevWiki and MSDN do a pretty good job of getting you started. The main thing is you want your Forefront Services started and looking something like this.
In Central Administration, on Services on Server, you want your User Profile services to show that they are started.
If your server doesn’t look like what you have above, then you probably have a problem. With Beta 2, if you have made any changes to these services or so much as looked at them, you will need to reinstall SharePoint. Don’t bother trying to get it to work, because it will never happen. Just ask twitter, it’s true. Don’t waste your time, just reinstall now.
If everything is running correctly, you need to set up a profile synchronization connection. This is somewhat similar to the process you used in MOSS 2007, but they updated it a bit to make it a bit more user friendly. For example, you don’t have to specify LDAP queries to get the objects you want any more. Just specify an account on the domain, and then pick the object you want to import using a tree viewer. The SharePointDevWiki article has some good screenshots on setting this up for the beta. However, Harbar by far has the most definitive guide on getting User Profile sync working (follow it exactly). If you have any issues with JavaScript errors on the screens, hit F12 and use IE7 mode and it will probably work. Once you have configured your connection, start a new synchronization job and wait for it to finish.
At this point you have user profiles, but you can’t search them yet. You’re dying to see all of the new features in People Search, so we have to do a crawl to make that happen. At this point, it’s much like MOSS 2007. In fact it uses the same protocol handler, sps3. Hopefully, you know where they moved Search Administration to now that they have gotten rid of the SSP. If not, it’s under Central Administration –>Service Applications –> Search Service Application –> Manage button. Once you are here, go to Content Sources. You should see one content source called Local SharePoint Sites. Depending on how you installed, this may be correct or it may not be. For start addresses, you should see something like http://server-name and sps3://server-name. Here is what mine looks like.
Sometimes, the sps3 address won’t be there, so you need to add it. You can add it to this content source or create another one. It really doesn’t matter. Before we crawl, we need to check some new settings to make sure our crawl account has the necessary permissions. Sometimes, SharePoint will take care of some of this for you other times it won’t. The first thing you need to do is go to Central Administration –> Security –> Specify web application user policy. Here, you need to make sure that your default content access account has Full Read permission. I’ll take this as yet another time to remind you that your crawl account should not have administrator permissions. It should look something like this.
The next thing we need to do is grant this account permissions to the User Profile Service Application. To do that, go to the Service Applications page, click on User Profile Service Application (click next to it to highlight it, don’t click on the link). When its highlighted, click on the Administrators button at the top. This gives you a window that looks like this.
If your default content access account (crawl account) is not listed, add it and then select the checkboxRetrieve People Data for Search Crawlers. If you don’t complete this step, you will likely get an access denied error message when you crawl.
Once it’s created, you need to do a full crawl. If you haven’t created an Enterprise Search Center yet, now is a good time to do so. Once you create it, click on the People tab and search for someone you know. That’s all there really is to it. If you have User Profile sync working, then the rest is easy.
Recently, I had a problem with SharePoint 2010′s people search. It stopped working, particularly after the network guys set us up with auto-forwarding http:// requests over to https://. Once that was set up, it broke the search. We couldn’t get any results to come back for the regular search or people search. Turns out you need to point SharePoint 2010′s search crawler not only to your content, but also use the proper protocol. If you force SSL, then you need to change the protocol accordingly. Here’s how.
This is where you see all of the places that the SharePoint crawler will start at. There are several different types of protocols that you can use here, but the main one is sps3://. If you are using http:// here, it’s obvious you’ll need to change it to https://, which was the first thing I did. Regular search kept working. However, I didn’t know that to access secure content, you will need to change sps3:// to sps3s://. That is basically the equivalent of the switch to https. Once you’ve got the protocols/paths all set up, select the start full crawl to have the crawler flush out everything get your search working again.