06 November 2007

Developing Search

Tonight I attended the DFW SharePoint Users Community meeting where Bill English presented on building and cataloging search for SharePoint Server 2007. Here are some key thoughts that were revolutionary to me and I think should be considered in any implementation of SharePoint. Many of these items will be focused more on the administration and deployment of SharePoint, but as developers, there are times we may want to consume search results from SharePoint in our solutions. We can have more confidence of the results our solutions provide to the user if the search architecture has been well defined. According to the statistics that Bill shared, our users spend at least 30% of their time just trying to find stuff. For information workers, this is time spent searching file shares, the internet, various in-house systems and SharePoint. The problem doesn't just go away by introducing SharePoint. If you don't have an organized approach to search within your SharePoint implementation, you will end up with the exact same problems currently experienced by your users. A simple concept that we sometimes miss is the fact that as we have more items included in our search indexes, the relevancy of our search results begin to decrease. This is because the more often a word is used causes it to become more general in nature. An example presented was the term horn, horn and horn. They can all be very different -- did you mean a car horn? A horn on an animal? Or a musical instrument? As you can tell, a general search for horn will return all of these items. Even by using keyword searches, we can only improve the situation slightly. Best bets can also help, but they do little to increase relevancy. So what are we to do? Bill suggested the focus of your MOSS implementation should not just be taxonomies or hierarchies, but also findability. This is basically defining how you want your end users to be able to find information using SharePoint. This will also help drive your taxonomy plan as well. Here's a suggested plan that was presented:

  • Define Content Types
  • Group content types into lists
  • Group Lists into Sites
  • Group Sites into Site Collections

One of the other aspects that we tend to ignore in SharePoint is the capabilities of social networks. Users will migrate to finding items by using the least amount of effort. If they know someone that might know where information is located, they may query that person for the location. I find this is the case within my user community. Individuals in my department are continually coming to me to ask me where I stored something in SharePoint -- and I usually know right where it is.

MOSS integrates some key social networking components through the use of My Sites that can assist our users in finding others who might have the information they are seeking. User profiles allow us to define metadata on a person, much as we would define metadata on a document or list item. The metadata is the profile properties defined by the SharePoint User Profile Administrator. This includes properties like skills, responsibilities and even the user's group membership. Users of the SharePoint can also use the colleague web part to build relationships to the people that contain valuable information needed for their tasks.

All-in-all, this meeting was very good and thought provoking. I'm taking the notes back to my team tomorrow to begin discussing what we might be able to do to improve our search within SharePoint.


Mark Miller said...

> Define Content Types
> Group content types into lists
> Group Lists into Sites
> Group Sites into Site Collections

Interesting idea but the amount of planning that could take is astronomical. Intuitively I would do it the complete opposite.

I'm open to discussion, but that looks like a tough row to hoe.


Chris said...

I agree that it is very time consuming! As I have been investigating this approach, the typical road block is SharePoint has already been deployed and users are already developing their content and sites.

However, what was thought provoking was the idea of focusing on findability vs. search. While they appear to be the same, findability is focused on bringing more accuracy to your search while search is more concerned with simply indexing everything. I think it is worth investigating this aspect of search and the key to relevancy seems to be accurate and indexable metadata.

Thanks for the response!