Multi-Value Property Support in FAST Search Server for SharePoint

Multi-Value Property Support in FAST Search Server for SharePoint

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 withing 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' accidentially 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.

Leave a Comment
  • Please add 1 and 2 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Richard Mueller edited Revision 5. Comment: Removed (en-US) from title, added tag

  • Craig Lussier edited Revision 4. Comment: added en-US to tags and title

Page 1 of 1 (2 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Richard Mueller edited Revision 5. Comment: Removed (en-US) from title, added tag

  • Craig Lussier edited Revision 4. Comment: added en-US to tags and title

  • @Gicko: same here, but the article does say "Note that the crawled property configuration in the index schema contains a property named IsMultiValued. This is not used." I will assume that my property was correctly considered as multivalued, but I would like to know more about the mentioned query refiner, i.e. "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)."

  • Hi,

    I am having trouble getting a crawled property to be recognized as multi-value.  I am using the database connector and have used nchar(2029) as the separator in my SQL statement.  However, when I crawl, the crawled property is not recognized as being multi-valued.  Any idea?

    Rick

Page 1 of 1 (4 items)