Enhance the searchability of your portal
Isn’t it lovely the way SharePoint brings all your content together and makes it possible to collaborate across any boarders? Though, it’s a lot of planning that needs to be done. I have been working on a various numbers of SharePoint projects during the history of WSS and MOSS; public portals, extranets, intranets, collaboration portals etc. The funniest part is when you bring all the pieces together. One thing I had the opportunity to do during the past year. I will write a number of articles about some of my learning so far. My first post will treat the subject search and I will dig into automatic metadata.
MOSS standard search is a powerful tool but it requires a lot of understanding and configuration to make it work properly. During the past years more powerful search engines has been introduced in SharePoint (like Fast). But the thing is that it’s very common that the MOSS Standard search isn’t configured in a right manner and therefore being excluded in advance for more expensive search engines.
So what should you do to enhance the searchability? It whole starts already in the beginning of you project. Most often search is the last thing people think of and most often they haven’t even calculated any time for this activity in their project plan.
“The search should just work out of the box”.
The users find metadata tagging boring so they chooses not to apply it and if you are requiring metadata to be entered the users often chooses the wrong data making it unusable. In my last project we started to experiment with automatic metadata tagging. We developed a custom field type which purpose is to look in the site structure were the page is being created or where a curtain document is being added. The custom field is included in you page content type (or your specific document content type) but you are not displaying the field for the page editor (in the example below the field will be displayed if the user has a very wide monitor :):
<PublishingWebControls:EditModePanel runat="server" ID="editmodepanel1">
<div style="position:absolute; right:2000px">
<SharePointWebControls:FormField runat="server" FieldName="ProdCategory" ID="Productmetadata" ></SharePointWebControls:FormField>
<SharePointWebControls:FormField runat="server" FieldName="ProdBrand" ID="FormField1" ></SharePointWebControls:FormField>
<SharePointWebControls:FormField runat="server" FieldName="ProdName" ID="FormField2" ></SharePointWebControls:FormField>
</div>
</PublishingWebControls:EditModePanel>
(If you have a public portal you can in advance render these fields in display mode as <META name=”keywords” content=”ProdCategory, ProdBrand, ProdName”> this will make your page more popular for external search engines)
This idea is based on that your site structure is in a hierarchy. So before you go on and implement this idea it’s important that your editors are familiar with the taxonomy of your portal. For example you are developing a product site for a company that is selling winter equipment. On the top of their site they have products. Navigating down in products will show skies, snowboards, clothes, accessories… Navigating down on snowboards will show burton, salomon… This means when you are visiting the page “Dominant Snowboard” your url will look something like this:
“../products/snowboards/burton/dominant/pages/default.aspx”
Or
“..products/prodcategory/prodbrand/prodname/pages/default.aspx”
What automatic metadata does here is what you have configured the custom field to trigger. You enter some trigger words in your custom field that the field should match on in the url (these trigger words you render in a dropdownlist or similar in your search page..). One important thing is that we don’t allow none html friendly characters in the url because this would force us to develop translators.. In this example the automatic metadata will be set to ProdCategory: Snowboards, ProdBrand: Burton and ProdName: Dominant.


Often the user knows what she wants when she is visiting a product site. But for the users who don’t know what they are looking for I really recommend you to introduce faceted search in your portal (http://facetedsearch.codeplex.com) and configure this webpart to suggest pages containing your trigger words. For example if the user searchs for snowboards, the faceted search webpart will render all pages with the metadata snowboards. These kinds of webparts are often used to make the end users buy more things. “People who bought this product also bought...”, then they are just using the faceted search to trigger on Accessories for example.
I assume that you are familiar how to setup metadata properties in Shared Services and map them to your automatic metadata field and how to develop custom fields. If you are not google will help you out
.
This is just one of many things you can do to enhance your search capability, but it’s a low effort compare to the improvment made.
If this subject interests you I’ll be glad to discuss it further more and share code.
Cheers,
Carl Johan
Postad av Sharepoint
Kommentarer (0)
Kategorier:
2007