Category Archives: SharePoint Search

Configure Thesaurus in MOSS

I’m working on an architecture review document this week and it suggests, among other things, that the client consider using the thesaurus to help improve the end user search experience.  Having never done this myself, I wanted to do a quick hands-on test so that my suggestion is authentic. 

It was surprisingly difficult to figure out how to do, although it is, in fact, quite easy.  There’s a pretty good bit of information on the thesaurus (check here and here, for example).  However, those docs are either WSS 2.0 / SPS 2003 oriented or they don’t actually spell out what do to after you’ve made your changes in the thesaurus.  They provide a great overview and fair bit of detail, but it’s not enough to cross the finishing line.

These steps worked for me:

  1. Make the changes to the thesaurus.  (See below for an important note)
  2. Go to the server and restart the "Office SharePoint Server Search" service.

A tip of the hat to Mr. J. D. Wade (bio).  He provided the key bit about restarting the search service and rescued me from endless, time consuming and unnecessary iisresets and full index crawls.  This episode proves, once again, that Twitter is the awesome.  (Follow me on twitter here.  I follow any SharePoint person that follows me).

I don’t know if this functionality is available in WSS.  If it is or is not, please leave a comment or email me and I’ll update this post.

Important note: There’s conflicting information on which XML thesaurus file to change.  There’s this notion of "tsneu.xml" as being the "neutral" thesaurus.  I wasted some time working with that one.  In my case, I needed to change the "tsenu.xml" file located under the folder of the app ID itself: \\win2003srv\c$\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\3c4d509a-75c5-481c-8bfd-099a89554e17\Config.  I assume that in a multi-farm situation, you would make this change everywhere a query server runs.

</end>

 Subscribe to my blog.

Technorati Tags: , ,

SharePoint and FAST — the Reese’s Peanut Butter Cups of Enterprise Apps?

I’ve finished up day 2 of FAST training in sunny Needham, MA, and I’m bursting with ideas (which all the good training classes do to me).  One particular aspect of FAST has me thinking and I wanted to write it down while it was still fresh and normal day-to-day "stuff" pushed it out of my head.

We SharePoint WSS 3.0 / MOSS implementers frequently face a tough problem with any reasonably-sized SharePoint project: How do we get all the untagged data loaded into SharePoint such that it all fits within our perfectly designed information architecture?

Often enough, this isn’t such a hard problem because we scope ourselves out of trouble: "We don’t care about anything more than 3 months old."  "We’ll handle all that old stuff with keyword search and going-forward we’ll do it the RIGHT way…"  Etc. 

But, what happens if we can’t scope ourselves out of trouble and we’re looking at 10’s of thousands or 100’s of thousands (or even millions) of docs — the loading and tagging of which is our devout wish?

FAST might be the answer.

FAST’s search process includes a lot of moving parts but one simplified view is this:

  • A crawler process looks for content.
  • It finds content and hands it off to a broker process that manages a pool of document processors.
  • Broker process hands it off to one of the document processors.
  • The document processor analyzes the document and via a pipeline process, analyzes the bejeezus out of the document and hands it off to an index builder type process.

On the starship FAST, we have a lot of control over the document processing pipeline.  We can mix and match about 100 pipeline components and, most interestingly, we can write our own components.  Like I say, FAST is analyzing documents every which way but Sunday and it compiles a lot of useful information about those documents.  Those crazy FAST people are clearly insane and obsessive about document analysis because they have tools and/or strategies to REALLY categorize documents.

So … using FAST in combination with our own custom pipeline component, we can grab all that context information from FAST and feed it back to MOSS.  It might go something like this:

  • Document is fed into FAST from MOSS.
  • Normal crazy-obsessive FAST document parsing and categorization happens.
  • Our own custom pipeline component drops some of that context information off to a database.
  • A process of our own design reads the context information, makes some decisions on how to fit that MOSS document within our IA and marks it up using a web service and the object model.

Of course, no such automated process can be perfect but thanks to the obsessive (and possibly insane-but-in-a-good-way FAST people), we may have a real fighting shot at a truly effective mass load process that does more than just fill up a SQL database with a bunch of barely-searchable documents.

</end>

Subscribe to my blog.

Technorati Tags: , ,

Faceted Search Fence Sitter No More

I had reason today to play about with the codeplex faceted search project today. 

It’s been around for a while, but I hesitated to download and use it for the usual reasons (mainly lack of time), plus outright fear 🙂

If you’re looking to improve your search and explore new options, download it and install it when you have an hour or so of free time.  I followed the installation manual’s instructions and it took me less than 20 minutes to have it installed and working.  It provides value minute zero.

It does look pretty hard to extend.  The authors provide a detailed walk-through for a complex BDC scenario.  I may be missing it, but I wish they would also provide a simpler scenario involving one of the pre-existing properties or maybe adding one new managed property.  I shall try and write that up myself in the next period of time.

Bottom line — in minutes, you can install, configure it, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</end>

Subscribe to my blog.

Technorati Tags:

SharePoint Wildcard Search: “Pro” Is Not a Stem of “Programming”

On the MSDN search forum, people often ask a question like this:

"I have a document named ‘Programming Guide’ but when I search for ‘Pro’ search does not find it."

It may not feel like it, but that amounts to a wildcard search.  The MOSS/WSS user interface does not support wildcard search out of the box.

If you dig into the search web parts, you’ll find a checkbox, "Enable search term stemming".  Stemming is a human-language term.  It’s not a computer language substring() type function.

These are some stems:

  • "fish" is a stem to "fishing"
  • "major" is a stem to "majoring"

These are not stems:

  • "maj" is not a stem to "major"
  • "pro" is not a stem to "programmer"

The WSS/MOSS search engine does support wild card search through the API.  Here is one blog article that describes how to do that: http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/03/06/how-to-use-the-moss-enterprise-search-fulltextsqlquery-class.aspx

A 3rd party product, Ontolica, provides wild card search.  I have not used that product.

</end>

Subscribe to my blog.

Technorati Tags: