This might be a little late but here goes.
You basically need to add a metadata property that maps to the office (or whatever) field on the users profile. You then need to have that crawled. Finally you can add office to the search option. Below give you a quick overview of how to do it.
Adding a new managed metadata property
- Go to Central Admin.
- Go to manage service applications
- Go into your search service application
- On the left under "Queries and Results" go to "Managed Metadata Properties"
- Click "New Managed Property"
- Give it a name, I called mine "Office"
- Click "add mapping" and select people
- Select "People:Office(Text)" (this depends on which field on the profile you are using to put the office in)
- Select "Include values from a single crawled property based on the order specified"
- Click OK
Now run A FULL CRAWL. That's quite important. If it's not a full crawl it wont be picked up.
Wait for the full crawl to finish.
Adding the field to the search
- You should now be able to search for Office:"office name"
- That's not very useful to a user
- What we want is to add it to the search options
- Edit the page and go to the web part properties for the search box
- Go to "Miscellaneous" and expand it
- Open up "Properties" and copy out the XML. Here you now need to add in your new field.
- It's going to look something like this:
- <Property Name="Office" ManagedName="Office" ProfileURI="urn:schemas-microsoft-com:sharepoint:portal:profile:Office"/>
- Add that in and then save it back into the web part
- Click on search option, type in the office in the new office field and click search
- BOOM!! Office searching.
Unless I'm missing something you're going to need to do this on both the initial people search page and the results page.
Here's a link that i based that all on.
http://blogs.technet.com/b/meamcs/archive/2010/12/23/sharepoint-2010-people-search-using-metadata.aspx