Wednesday, June 29, 2011

FAST for SharePoint Service Pack 1

Together with SharePoint 2010 Service Pack 1, FAST for SharePoint got a service pack on it’s own. you can download it from http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26612
The most notable fixes for me are:
  • Improves default schema that improves relevancy
  • Better title and date extraction for Microsoft Office documents
  • Adds more flexible custom property extractors
  • Updated sample deployment templates <- Note: My example deployment templates were messed up during the install of SP1
  • Managed properties does no longer have to be in lowercase in the refinement panel configuration, in the query API’s or in FQL scope filters
  • Improves index backup and index restore
  • Improved indexing speed for several scenarios
  • Fixed index corruption when the indexer crashes
  • Functionality to add search columns to a live system [Edit: Was not included afterall, but will in a later CU]
  • Infotool.exe will pick up more log files and configuration files
As for the updated custom property extractors, the optionalprocessing.xml configuration file is now obsolete (but backwards compatible) and has been replaced by a new file called CustomPropertyExtractors.xml. (Both reside in C:\FASTSearch\etc\config_data\DocumentProcessor).
In this new file you can add as many extractor dictionaries as you want, not just three whole-word and two word-part dictionaries as was the limit before. And you can also have both case and case-insensitive matching.
There is a migration guide at: Migrate custom extractor to sp1

Friday, June 24, 2011

Error in default important level weights for the Full-text index mappings

The title for this post might seem somewhat cryptic if you haven’t worked with managed properties in FAST for SharePoint, and mapped them to different priority levels. But I will walk you thru it getting to the error.

First of all, the relevance score for a search hit in FAST for SharePoint is build up of many different values, where one part of the score is how important is the field which contains data where your query matched. As an example if your query matches words in the title it will get rated higher compared to if it matched in the body text of the document.

Wednesday, June 22, 2011

Deleting a Federated Location via the API

I’m working on a SharePoint feature which will automatically add a federated search location on feature activation and which will delete it on de-activation.

To accomplish this I use the Microsoft.Office.Server.Search.Administration.SearchServiceApplication class, and more specifically the AddNewLocationConfiguration and DeleteLocationConfiguration methods. I tried to use the same methods of the SearchServiceApplicationProxy first, but there seems to be an error using the AddNewLocationConfiguration method on proxy object.

AddNewLocationConfiguration takes a LocationConfiguration object as parameter, which can be created by loading in the xml from an OSDX file like this:


var searchLocation = new LocationConfiguration(); 
var stream = …stream to xml file…; searchLocation.Import(stream);

As you see, adding is not too hard, but deleting is the problem. The DeleteLocationConfiguration method takes the id of a LocationConfiguration object as the parameter. But lo and behold, the Id property is defined as internal.

image

Friday, June 17, 2011

Making Best Bets available right away

In SharePoint 2010 if you add a keyword and attach a Best Bet to it, it is usually made available right away. But if your system has a lot to do, then the timer jobs kicking this into production might not run as often as you desire.

This is easily fixed by running the “Prepare query suggestions” timer job. Seems this jobs handles anything to do with synonyms, nicknames and also keywords.

In a SharePoint Management PowerShell window you can start the timer job by issuing

Start-SPTimerJob -Identity "Prepare query suggestions"

Wednesday, June 15, 2011

Clearing items from a specific content source

On your Search Service Application, that be the standard SharePoint Search or FAST for SharePoint has a link called Index Reset which will clear all the searchable items in your index.

For FAST Search for SharePoint you would have to call Clear-FASTSearchContentCollection on the FS4SP farm as well via PowerShell.

This is all fine if you want to remove everything, but sometimes you may want to only remove parts of the index, say only items from a particular content source like SharePoint or your file server.

image

Thursday, June 2, 2011

DateTime resolution on your SharePoint Search Center hits

If you use the search center in SharePoint you will notice document dates are listed with year, month and day. What if you want to show hours, minutes and seconds as well for the last modified date?
image