Faceted Search for SharePoint 2007 (MOSS)

I had seen the post on the Microsoft SharePoint Products and Technologies Team Blog the other day about faceted search, but for some reason, it didn’t make an impression.  Today, Scott Jamison posted about it, so I took another look.  (I’ve worked with Scott, and I pay attention when he touts something.)

This is really a cool option to enhance what SharePoint Search can do for you.  The most immediate use I thought of was for a company directory or facebook that is much more interactive than basic Search.  (I’ve posted a few other times about ways to build up this capability, but none of my ideas worked this well.)  Check out the WSS Demo site for an interactive demo.

A few other ideas from the Microsoft SharePoint Products and Technologies Team Blog post:

  • Music catalog: songs have attributes such as artist, title, length, genre, date.
  • Company white pages: directory of people with names, department, role, region.
  • Recipes: cuisine, main ingredients, cooking style, holiday.
  • Travel site: articles have authors, dates, places, prices.
  • Regulatory documents: product and part codes, machine types, expiration dates.
  • Image collection: artist, date, style, type of image, major colors, theme.

A new release is planned in a week or so, with these new features:

  • Multi-thread processing. 1st thread runs for up to 500 facets synchronously, while the 2nd thread is running asynchronously against up to ~30,000 facets.
  • Client side refresh (not AJAX) that updates only facets web part without page refresh.
  • Web part connections to pass Facet settings to the bread crumbs.

Extended facet schema now supports:

  • Facet icons — default icon per facet name complimented by an icon per facet value .
  • Friendly names for facet values.
  • Exclusions — allow exclude facet when values match pattern.
  • Built-in wildcard match, especially useful for exclusions.
  • Improved search syntax, added supports for sentences and quoted phrases.

SharePoint 2007 Search Scopes

I recently needed to create a Search Scope in MOSS that returned only sites that matched the search term.  In this case, there was one site per customer account, and we wanted to be able to find each customer’s site quickly using search.

After some poking about, I found this article on MSDN that explained what to use for contentclass in a Search Scope programmatically to limit the results appropriately: STS_WEB.

So to implement this, create a new Search Scope and add a rule.  Choose a Property Query, where contentclass=STS_Web.

The other options for contentclass are listed below.  Note that there is some inconsistency in the way the various contentclasses are described.

Search Query:  urn:content-class:SPSSearchQuery
News Listing:  urn:content-class:SPSListing:News
People:  urn:content-class:SPSPeople
Category:  urn:content-classes:SPSCategory
Listing:  urn:content-classes:SPSListing
Person Listing: urn:content-classes:SPSPersonListing
Text Listing:  urn:content-classes:SPSTextListing
Site Listing: urn:content-classes:SPSSiteListing
Site Registry Listing: urn:content-classes:SPSSiteRegistry
Site:  STS_Web
List: STS_List
List Item:  STS_ListItem
Events:  STS_List_Events
Tasks:  STS_List_Tasks
Announcements:  STS_List_Announcements
Discussions:  STS_List_DiscussionBoard
Contacts:  STS_List_Contacts
Links:  STS_List_Links
Document Library: STS_List_DocumentLibrary
Document Library Items:  STS_ListItem_DocumentLibrary
Picture Library: STS_List_PictureLibrary
Picture Library Items: STS_ListItem_PictureLibrary

Technorati tags: , , ,