Sunday, July 24, 2011

Creating a scope to limit by content collection

When working with FAST Search Server for SharePoint and especially if you are using one of the custom FAST connectors you will usually create additional content collections with the command: New-FASTSearchContentCollection
2430680365_410bc05f07_mThis will logically separate content from for example the FAST Enterprise Web Crawler from content indexed from SharePoint into the sp collection (which is the default collection for the FAST Content SSA).

What if you want to show results only from the web crawl? If it had been a content source on the FAST Content SSA you could have created a search scope to limit by content source like this:

New-SPEnterpriseSearchQueryScope -SearchApplication "FAST Query SSA" -Name MyContentScope -Description "Content Source Scope" -DisplayInAdminUI 1 -ExtendedSearchFilter 'contentsource:MyContentSourceName'

Tuesday, July 19, 2011

Released: SharePoint Search Parts

The past couple of weeks I’ve been working evenings and some during the day when my kid is asleep on a FQL (FAST Query Language) enabled Core Results web part. The reason for going fql is not to write it directly into the search box, but in order to provide proper synonym and wildcard support. (Note: fql is only supported with FAST for SharePoint)

imageThe project can be found at and is currently in alpha. It might actually be higher quality than what you expect from an alpha version, but I haven’t had time to test it properly.

The biggest undertaking in the project was to write a kql->fql parser. I think the parser works ok at the moment, but there is always room for improvement, and I might have missed something.

The other technical challenge was to enable fql support in the web part. Thankfully, Ivan Neganov has a blog post on how to do this which  I used as foundation for the web part. I did however change the use of direct reflection to use IL.Emit, as it’s more performant and can be cached, but it’s still reflection ;-)

Synonyms are expanded based on single words or phrases. If you add a synonym in SharePoint with two or more words, it will only match in “search phrases” with quotes. I might change this to match multiple terms as well. Synonyms are also lemmatized/stemmed, which they are not in the standard web part.

There is also an option to boost the original query words over the synonyms which could be useful. At least it was fun to implement :-)

Wildcards are supported like they are in fql, where both ? and * can be used, and also anywhere in the words.

When using the web part you can use my query tool at to inspect how the kql query is transformed into fql. This will also show synonym expansion and added scopes.

I plan to add more search parts as I have time, and hopefully the project can grow into something really useful.

More information can be found at the project page.

Tuesday, July 12, 2011

Improved relevancy with SP1

This was listed as one of the updated in SP1, and was actually released in the December CU. So what has really changed?

For all the default Metadata Categories in FAST for SharePoint the default behavior is to map auto-discovered crawled properties to the full-text index.


This leads to many irrelevant fields being searchable. The update is in fact adding many of these fields to an ignore list, setting the IsMappedToContents property of the crawled property to false.

The full list of the added ignored properties can be found in the function ImproveDefaultSchema in C:\FASTSearch\installer\scripts\include\commontasks.ps1.

The relevancy improvement is to avoid garbage into the index.

Thanks to Microsoft for providing this information.

Saturday, July 2, 2011

SharePoint MVP for 2011

Yesterday was the first day of my July vacation between jobs, and I was spending the evening having a good time with some friends of mine.

I arrived at the restaurant 20 minutes early, ordered a beer and checked my e-mail. And there it was, an e-mail from the Microsoft MVP team reading:

Congratulations 2011 Microsoft MVP

This is my first time being awarded, and I have been awarded in the SharePoint Server category. For those who follow my blog you know that FAST for SharePoint is what I do these days, and it’s a community I very much enjoy being a part of.

Getting an award is something to live up to in my opinion, and I will try my best to continue to do what I love Smile

PS! We all had a blast last night!