Searching SPS using MSN Desktop Search


By now you will have seen that the MSN Desktop Search Beta is available. (If you haven’t, what have you been doing this last week?)


MSN Desktop Search supports some basic extensibility using an aliasing syntax to create web shortcuts.  You can use these shortcuts to enable you to search your intranet from the MSN DeskBand. 


Let’s say your SPS site exists at http://my-portal/.  SharePoint Portal Server allows you to initiate a search via an HTTP GET request.  The syntax for this is defined in the SharePoint Products and Technologies SDK.  If I wanted to search for the term Office on the portal the search URL would be: http://my-portal/search.aspx?k=Office.  To perform this search from the DeskBand you need to create a shortcut to the portal search. Type the following command into the deskband and press Enter:


 


@sps,http://my-portal/search.aspx?k=$w


 


Hey Presto, you have some basic integration with SharePoint search!  Now you can just type:


 


sps Office in the Deskbar to kick off SPS search for the word Office. 


 


The SPS search syntax also enables you to further narrow down the search scope, specifying just people, just documents etc., so you could create other more specialist shortcuts.  For instance for a people search you can use this shortcut:


 


@person,http://my-portal/search.aspx?k=$w&w=”DAV:contentclass”=’urn:content-class:SPSPeople’


 


And do a search from the DeskBand like this:


person Mark Bower


 


The full SPS HTTP-GET syntax is defined here: http://msdn.microsoft.com/library/en-us/spptsdk/html/SearchGET_SV01073871.asp


 


[updated 17/12 to make instructions clearer]

Comments (9)

  1. Celarent says:

    Thank you, it works very well. But string @person,http://my-portal/search.aspx?k=$w&w="DAV:contentclass"=’urn:content-class:SPSPeople’ searches all My site information, including Reports to and so on. In advanced search I can choose fields (e.g. position, department, name…), is it possible there?

  2. Mark Bower says:

    IIRC rather than $w you can use $1 $2 etc. to pass more parameters to the URL query string.

  3. Matthew says:

    Mark, SWEET!

    You could also identify specific attributes for your people search this way:

    @person,http://myportal/Search.aspx?w=CONTAINS(%22urn:schemas-microsoft-com:sharepoint:portal:profile:AccountName%22,%20’%22$w*%22′)%20OR%20CONTAINS(%22urn:schemas-microsoft-com:sharepoint:portal:profile:FirstName%22,%20’%22$w*%22′)%20OR%20CONTAINS(%22urn:schemas-microsoft-com:sharepoint:portal:profile:LastName%22,%20’%22$w*%22′)%20OR%20CONTAINS(%22urn:schemas-microsoft-com:sharepoint:portal:profile:PreferredName%22,%20’%22$w*%22′)%20AND%20(%22DAV:contentclass%22=’urn:content-class:SPSPeople’)

  4. I came across this article today. Excellent!