Share via


SharePoint 2010: Multi-Value Property Support in FAST Search Server

What is multi-value properties?

A multi-value property in FAST Search Server for SharePoint is a property that can handle multiple strings.  Such properties can derive from multi-value crawled properties in SharePoint lists, etc.

The idea is that you limit phrase and proximity matching within each value within the property. Example: A property contains a list of names. When querying this property with the phrase "john doe" you only want to match the name "john doe", not match a property containing the names "mark john" "doe peterson" where 'john' and 'doe' accidentally appeared after each other. The same applies to proximity matching, where multi-term matches within a string gives better rank than across strings within the property. For more info on proximity, see About the rank profile. The predominant value of using multi-value properties is the ability to apply query refinement on the managed properties. the refinement aggregation will ensure that each multi-value string appearance is counted separately. This is key if you want to e.g. create a name refiner where the name property is a multi-value managed property.

Configuring multi-value properties

All crawled properties supports multi-value data. Note that the crawled property configuration in the index schema contains a property named IsMultiValued. This is not used. When you map to a managed property you must remember to set the property MergeCrawledProperties using the cmdlet Set-FASTSearchMetadataManagedProperty. If you want to use query refinement, don't forget to set the property RefinementEnabled and enable the query refiner in the front-end (reference to come).

What about CSV data?

If you want to map CSV data (properties that use a delimiter such as ';' to indicate multi-value data) you must create a custom pipeline extensibility stage and map to a new crawled property where you add a selected delimiter character to the content. In the input to the extensibility stage the special character U+2029 is used as a separator for multi-valued crawled properties. For more details, see this forum thread: http://social.technet.microsoft.com/Forums/en-US/fastsharepoint/thread/a4285ae0-c899-4c6c-ab24-032e70d4525d.