Index Schema (FAST Search Server 2010 for SharePoint)

Applies to: SharePoint Server 2010

In this article
Crawled Properties
Managed Properties
Full-Text Index
Rank Profile
Query Refinement
Updating the Schema Model
Introduction to the Index Schema Object Model Interfaces

Crawled Properties

Crawled properties are metadata that is extracted from content sources to make the data available for searching. Crawled properties are typically reported by the Content SSA or other FAST Search Server 2010 for SharePoint connectors, but can also be created during item processing by an IFilter or a property extractor.

A crawled property is uniquely defined by the parameters of Name, Propset, and VariantType.

Two specific managed properties are populated with the crawled property names and values discovered for the given item, as follows:

  • crawledpropertynames  Holds discovered crawled properties that have a value for a specified item.

  • crawledpropertiescontent  Holds the value of every crawled property in crawledpropertynames.

Some discovered crawled properties are not mapped into these managed properties. The disadvantage of automatically indexing the content of discovered crawled properties is that not all content is relevant for searching. There may be several reasons for this; for example, the crawled properties might provide sensitive information or contain data that can adversely affect relevance or recall. A crawled property will map to crawledpropertiescontent if the following is true:

  • The crawled property has variant types that map to a string or list of strings.

  • Crawled properties that are known to provide unwanted content in the search index are excluded by setting their IsMappedToContents property to False.

  • Because every crawled property belongs to a category (determined by its Propset), the category has a Boolean property (MapToContents) that sets the default value of the IsMappedToContents property of new crawled properties

So, if the crawled property is a string and its IsMappedToContents property is True, the content of the crawled property should be searchable in crawledpropertiescontent.

Each crawled property belongs to a crawled property category, which is a high-level grouping of crawled properties based on the IFilter and content source that is used to extract the metadata from the content.

The following are examples of categories:

  • Business Data  Metadata that is associated with content retrieved by using the Business Data Connectivity (BDC) service.

  • Mail  Metadata that is associated with Microsoft Exchange Server.

  • Office  Metadata that is contained in Microsoft Office documents such as Microsoft Word, Microsoft Excel, and Microsoft PowerPoint.

  • People  Metadata that is associated with the people profiles in SharePoint Server 2010. The majority of these are also mapped to various managed properties from Active Directory and SharePoint information.

  • Web  HTML metadata that is associated with web pages.

A crawled property category may contain multiple property sets. Table 1 describes the interfaces that are related to crawled properties.

Table 1. Crawled property related interfaces

Interface

Description

CrawledProperty

Specifies a crawled property.

Category

You can use the Category interface to specify default mapping behavior that is common to all crawled properties within the category.

You can use the AllCategories property of the Schema interface to retrieve a collection of property categories. You can retrieve a collection of CrawledProperty objects for a given category by using the Category.GetAllCrawledProperties method.

You can create a crawled property by using the Category.CreateCrawledProperty method.

ManagedProperty

Managed properties are metadata that can be searched or retrieved in query results.

You can retrieve a collection of CrawledProperty objects that represent the crawled properties mapped to a specific managed property by using the ManagedProperty.GetMappedCrawledProperties method.

You can configure crawled property mappings by using the ManagedProperty.SetCrawledPropertyMappings method.

Managed Properties

Managed properties are metadata that can be searched or used in other ways, such displaying data in search results.

The default index schema provides a set of mappings from crawled properties to managed properties. The default mappings are adapted to common content formats when crawling using the Content SSA. Specific content sources or other indexing connectors can expose other crawled properties that have better quality for your content.

You can associate a managed property with one or more full-text indexes. You must use a full-text index to achieve ranked results for queries.

You can enable Query Refinement for a managed property so that you can add the data from this property as a drill-down option on the query result page.

You can configure a hit highlighted summary for a managed property. This is a summary of a managed property that appears on the search results page for each query result. The summary displays an excerpt from the item that contains the query text and applies highlight formatting to that query text. You can enable this feature by using the ManagedProperty.SummaryType property. By default, the hit highlighted summary is configured for the body property and title property.

Table 2 describes the interfaces that are related to managed properties.

Table 2. Managed property related interfaces

Interface

Description

ManagedProperty

Specifies a managed property.

ManagedPropertyCollection

Specifies a collection of managed properties. You can create a managed property by using the ManagedPropertyCollection.Create method.

CrawledProperty

Crawled properties are metadata that is extracted from content sources to make the data available for searching.

You can configure crawled property mappings by using the ManagedProperty.SetCrawledPropertyMappings method.

FullTextIndex

A full-text index enables you to query across several managed properties at the same time.

You can map the managed property to one or more full-text indexes by using the ManagedProperty.GetFullTextIndexMappings method.

RankProfile

You use a rank profile to specify how to perform relevance ranking of query results.

You can associate a managed property boost configuration by using the RankProfile.GetManagedPropertyBoosts method.

You can associate a managed property for quality ranking by using the RankProfile.GetQualityComponents method.

RefinerConfiguration

Query refinement enables you to refine a query result by using aggregated statistical data that is computed for the query result.

You can associate query refinement with a managed property by setting the ManagedProperty.RefinementEnabled property to True. This will create a RefinerConfiguration for the managed property.

You can modify the RefinerConfiguration by using the ManagedProperty.GetRefinerConfiguration method and the ManagedProperty.SetRefinerConfiguration method.

Full-Text Index

You can group multiple managed properties into a full-text index. This enables you to query across several managed properties at the same time. Full-text indexes enable you to dynamically rank queries (results sorted by relevancy).

A full-text index typically contains a set of managed properties that represents the content of the item that you are querying. This includes the body of the item, the title, the URL, and so on. You can define multiple full-text indexes for different kinds of queries or different applications.

To achieve ranked queries, you associate the full-text index with one or more rank profiles.

A default index schema configuration contains one full-text index named content. This is the default full-text index for queries without any property filter.

Note

Do not delete and re-create a full-text index with the same name but a different configuration. The re-created full-text index will at first contain all items that were indexed in this full-text index before deletion. The items that no longer belong in the full-text index will appear in query results until the items are updated or deleted.

Table 3 describes the interfaces that are related to full-text indexes.

Table 3. Full-text index related interfaces

Interface

Description

FullTextIndex

Specifies a full-text index.

FullTextIndexCollection

Enables access to an existing full-text index. You use the FullTextIndexCollection.Create method to create a new full-text index.

ManagedProperty

Managed properties are metadata that can be searched or retrieved in query results.

You can map one or more managed properties to the full-text index by using the ManagedProperty.GetFullTextIndexMappings method.

RankProfile

You use a rank profile to specify how to perform relevance ranking of query results.

You can associate one or more full-text indexes to a rank profile by using the RankProfile.GetFullTextIndexRanks method.

FullTextIndexMapping

You use this interface to map one managed property to the full-text index.

You manage the mapping by using the ManagedProperty.GetFullTextIndexMappings method.

FullTextIndexRankComponent

Configures proximity boost and context boost weight parameters that are associated with a given full-text index for a rank profile.

You manage the mapping by using the RankProfile.GetFullTextIndexRanks method.

For more information about context boost, see Importance Level and Drilling.

Rank Profile

You use a rank profile to specify how to perform relevance ranking of query results. For more information about the rank profile concepts, see About the Rank Profile (FAST Search Server 2010 for SharePoint) on Microsoft TechNet.

A rank profile is associated with one or more full-text indexes for full-text query rank evaluation.

You typically have a one-to-one relation between a full-text index and a rank profile. In some applications, you might want to group the text content in more than one full-text index. To rank queries by relevance, regardless of which full-text index is specified in the query, you must have all the full-text indexes mapped to the rank profile used for the query.

The following example shows why you would want to have two full-text indexes and map them to the same rank profile. In your application, you have a set of managed properties that represents the visible content of the item, such as title, body, and headings. You map these properties to the full-text index named content (the default full-text index). Then, you can control the relevance importance of each property when the user queries this full-text index. You may also have a set of managed properties that represent tags and annotations added by users. To enable the user to apply free-text queries toward these properties, you map these properties to another full-text index that is named annotations. If you map both full-text indexes to a rank profile, you can ensure that the following query is correctly relevance ranked:

new movies annotations:cool

A rank profile can be associated with one or more managed properties for quality rank evaluation. Each managed property is associated with the full-text index by using a weight to describe the relative weight of this managed property in the overall quality rank computation.

Note

A default index schema configuration contains one rank profile named default, which is the default rank profile for queries without any rank profile specification.

Rank profile tuning involves the following factors: quality, authority, query authority, freshness, proximity, context, and managed property. These are described in Table 4. You can specify relative weight for the individual components in a rank profile.

Table 4. Ranking factors

Rank Factor

Description

Quality

Specifies the quality score, also known as the static rank score.

Static rank can be derived from multiple managed properties. The following sets of managed properties are predefined for static ranking:

  • Urldepthrank   Used to boost shorter URLs.

  • Docrank   Rank boost based on the number of and relative importance of links pointing to an item.

  • Siterank   Rank boost based on the number of and relative importance of links pointing to the items on a site.

  • Hwboost   FAST Search Server 2010 for SharePoint placeholder for generic usage of static rank points.

In addition to these predefined static rank properties, you can add any custom integer managed property to the list of static rank managed properties by using the QualityComponent interface. This interface also enables you to assign different relative weights to the individual components.

Authority

Specifies the rank given when a query word retrieves hits in the link text (anchor text). This score has two components:

  • Partial match of the link text. For example, if a user makes a query Microsoft, and the link text is Microsoft Word, you get a partial match rank score for this item.

  • Complete match of the link text. An additional score is added if there is an exact match between the query text and the link text.

Query authority

Specifies the rank given when a new query retrieves hits in items that are associated with previously performed queries. In the search UI, all of a user's queries and the items that the user clicks on that are associated with those queries are stored and processed.

This factor enables users to affect the relevance ranking of frequent queries through the items in the query result that they click on.

Processing occurs one time each day at 01:00 AM. The last 30 days of clicks are kept for processing.

This rank boost has two components:

  • Partial match. For example, if the initial query that resulted in a click to this item is Microsoft Word, and the query is Microsoft, you will get a partial match rank score for this item.

  • Complete match. Another score is added if there is an exact match between the user query and the stored query authority query.

Freshness

Specifies the freshness boost that is assigned to an item based on the last modified time for the item compared to the time of the query. The source for the last modified time is the managed property named Write.

You specify the resolution by using the RankProfile.FreshnessResolution property. A lower resolution implies that smaller time differences will affect the ranking.

Proximity

Specifies the proximity boost that is assigned to an item depending on the distance between the query words in the item, and where the words are located in the item.

Proximity boost is based on distance between terms inside a full-text index. You get a larger boost if two terms appears in the same managed properties within the full-text index.

You can use the RankProfile.PositionStopWordThreshold property to configure how to apply proximity ranking to frequent query words. For more information, see RankProfile Interface.

Context

Specifies a boost that depends on where in the item the search words hit. Context boost is assigned as an overall weight and as a weight based on the different levels defined in the full-text index.

The different managed properties such as title and body are mapped into different levels. This makes it possible to give a better rank score when the search word hits on a title instead of in the body text of the item.

For more information, see Importance Level and Drilling.

Managed property boost

Specifies a rank component that enables an administrator to boost indexed items based on a word match with a managed property. Any searchable managed property that has a matching value can be used as input for additional rank points.

For example, you may want to boost indexed items of a specific type (such as Microsoft Word documents). You specify the boost by using the ManagedPropertyBoostComponent interface. In this example, the condition will be that the managed property fileextension must have the value doc or docx.

Note

Both the quality boost and managed property boost provide rank boost that is independent of the actual query. A quality boost provides an unconditional boost for all items in a result set that contains any nonzero value in the associated numeric managed property. The boost value is equal to the numeric value of the property for each matching item in the index. A managed property boost provides a conditional boost for all items where the indicated managed property matches one or more specific words. The matching is performed during query evaluation. You specify the matching condition and the boost value in the ManagedPropertyBoostComponent.BoostValue property.

Table 5 describes the interfaces that are related to rank profiles.

Table 5. Rank profile related interfaces

Interface

Description

RankProfile

Specifies a rank profile.

RankProfileCollection

Enables access to an existing rank profile. You use the RankProfileCollection.Create method to create a new rank profile.

FullTextIndex

A full-text index enables you to query across several managed properties at the same time.

You can map one or more full-text indexes to the rank profile by using the RankProfile.GetFullTextIndexRanks method.

FullTextIndexMapping

Maps one managed property to a full-text index.

The ImportanceLevel property defines the relative importance of this managed property within the full-text index. This is used in the context boost evaluation when the full-text index is associated with a rank profile. For more information, see Importance Level and Drilling.

ManagedProperty

Managed properties are metadata that can be searched or retrieved in query results.

You can associate a managed property boost configuration with a rank profile by using the RankProfile.GetManagedPropertyBoosts method.

You can associate one or more managed properties for quality ranking (static ranking) to a rank profile by using the RankProfile.GetQualityComponents method.

QualityComponent

Associates one or more managed properties for quality ranking.

You manage the association by using the RankProfile.GetQualityComponents method.

ManagedPropertyBoostComponent

Associates a managed property boost configuration with a rank profile.

You manage the association by using the RankProfile.GetManagedPropertyBoosts method.

FullTextIndexRankComponent

Associates one or more full-text indexes to the rank profile.

You manage the association by using the RankProfile.GetFullTextIndexRanks method. For more information, see Importance Level and Drilling.

Importance Level and Drilling

You specify an importance level for a managed property as part of a full-text index mapping. The query evaluation uses the importance level in the following two ways:

  • To define the relative importance of a managed property inside a full-text index. This affects the context boosting when you associate the full-text index with a rank profile.

  • To define the drill level for a managed property inside a full-text index. Drilling ensures that the most relevant items are returned first when a query word matches too many items in the index.

Note

The importance level is a value between 1 and 7. It is specified as an integer, except in the methods exposed by the FullTextIndexRankComponent interface. For these methods, you specify the importance level as a FullTextIndexImportanceLevel enumeration.

The context boosting depends on multiple weight parameters, as follows:

  • When you associate a managed property with a full-text index, you specify the importance level for each managed property. This represents the relative importance of each managed property within the full-text index. You create a FullTextIndexMapping Interface with the associated importance level by using the Create method of the FullTextIndexMappingCollection interface. You retrieve the collection from the ManagedProperty interface by using the GetFullTextIndexMappings method.

  • When you associate a full-text index with a rank profile, you specify the relative weight of each importance level. You create a FullTextIndexRankComponent object with the associated weights by using the FullTextIndexRankCollection interface. You retrieve the collection from the RankProfile by using the GetFullTextIndexRanks method. You specify the relevance weight for the different importance levels by using the GetImportanceLevelWeight method and SetImportanceLevelWeight method.

  • When you associate a full-text index with a rank profile, you also specify the relative context boost weight by using the FullTextIndexRankComponent interface. This specifies the relative importance of context boost compared to the other relevance boost parameters. You specify the weight by using the ContextWeight property. The weight is normalized, and you typically use a value between 0 and 100.

Note

The default rank profile (named default) has a full-text index rank component for the default full-text index (named content). When you create a new rank profile, it has the default full-text index as its full-text index rank component. If you create a new full-text index rank component, it is added as a second FullTextIndexRankComponent object to the rank profile. To replace the default full-text index rank component with the new one, you have to delete the default full-text index rank component after you have created the new one.

During query evaluation the query matching may use drilling if a query word matches too many items in the index. Drilling refines the results of a search query by reducing the number of properties to query in a full-text index. Drilling is configured by the stop word threshold and the importance levels, which ensures that the most relevant items are returned first when the threshold is reached.

Drilling ensures that the most relevant items are returned first when the stop word threshold is reached on a query against a full-text index. Drilling lets you automatically drill down in a result set by narrowing the number of properties to query within the target full-text index (drill levels). Each managed property that is defined in the full-text index has an associated importance level. A higher importance level indicates that the managed property will be part of the matching when drilling to that level.

If you have a small index with a uniform set of items, you might want to change the drill level setting from the default configuration. In a small index, the performance effect of drilling is limited. To ensure that you achieve correct rank values for managed properties in the lower levels (such as body), you can use drill level 1 for all managed properties within the full-text index.

There are four drill levels available. The importance levels map to the drill levels as specified in Table 6.

Table 6. Relation between importance level and drill level

Importance Level

Drill Level

1 and 2

Included in drill level 1.

3 and 4

Included in drill levels 1 and 2.

5 and 6

Included in drill levels 1, 2, and 3.

7

Included in all drill levels.

If you want to use only drill level 1, you can still achieve different context boost for the managed properties by using importance levels 1 and 2.

Note

Do not use a larger drill level value than necessary. If you use too many levels in a full-text index, this leads to an unnecessary large index file structure.

For more information about stop word threshold configuration, see RankProfile Interface. For more information about how the drilling works, see Tune Dynamic Rank (FAST Search Server 2010 for SharePoint) on Microsoft TechNet.

Query Refinement

Query refinement enables you to refine a query result by using aggregated statistical data that is computed for the query result. This is typically used for metadata associated with the indexed items, such as creation date, author, and person names appearing in the item. By using the refinement options, you can refine your query to only present items created throughout a certain time period, or only display items referencing a given person.

FAST Search Server 2010 for SharePoint supports two kinds of query refiners:

  • Deep refiners  The query refinement is based on the aggregation of managed property statistics for all of the results of a search query. The indexer creates aggregation data that is used in query matching process. The advantage of using this query refiner type is that the refinement options will reflect all the items matching a query. This is usually the recommended mode, but defining many deep refiners may have a significant effect on memory usage in the query matching component.

    Consider setting the RefinementType property to LatentRefinement if you want to prepare the index data structures for deep refinement, but do not want to enable the feature yet for query evaluation. When using this option, the required data structures for deep refinement are not loaded into main memory, and it will therefore have no performance effect on the query evaluation. The setting can later be changed to DeepRefinementEnabled to enable the feature. In that case, the change has an immediate effect (no requirement to re-index items).

  • Shallow refiners  The query refinement is based on the aggregation of managed property statistics for the top 50 results for a search query. The refinement result data is created during result processing. Because the refinement is limited to the top matching results, you may be unable to find results hidden deeper in the query results. However, this refinement option does not affect the indexing process and can therefore apply immediately after it has been enabled.

    Shallow refiners have a significant performance effect on the query processing node and reduce the query performance.

A number of query refinement options can be specified both in the index schema and at query time. For more information about the query time options, see ff394639(v=office.14).md.

Tip

For Datetime managed properties, it is convenient to control binning of the refiners at query time instead of using the schema properties. This enables you to more easily specify binning on date boundaries. For more information, see ff394639(v=office.14).md.

Table 7 describes the interfaces that are related to query refinement.

Table 7. Query refinement related interfaces

Interface

Description

RefinerConfiguration

Specifies a query refinement.

ManagedProperty

Managed properties are metadata that can be searched or retrieved in query results.

You can associate query refinement with a managed property by setting the ManagedProperty.RefinementEnabled property to True. This activates the associated RefinerConfiguration object for the managed property.

You can modify the RefinerConfiguration by using the ManagedProperty.GetRefinerConfiguration method and the ManagedProperty.SetRefinerConfiguration method.

Note

For managed properties of type Integer, you should not enable query refinement if the managed property may contain negative values. If a refinement bin (value range) contains negative values, it is not possible to drill down into this value range.

Updating the Schema Model

When you modify a class instance within the schema model, you must use the Update method exposed by the interfaces to apply the changes to the actual index.

The Update method writes the changes to a database in the administration server. The update mechanism is asynchronous, and it can take some time before the index reflects the changes, as follows:

  • There is a delay of 30 to 60 seconds before the schema changes are deployed to the index servers. This enables multiple schema changes followed by a single index update.

    Note

    Crawled property related interfaces do not affect the index server. The indicated delay does not apply when updating these interfaces.

  • Some schema changes have no effect before a re-indexing occurs. This happens at variable intervals, depending on the rate of new or updated items.

  • Some schema changes have no effect before the associated items are updated. If you perform important changes to the crawled property mapping, you might consider forcing a full re-crawl of the content.

Table 8. Schema updates and their effect on the search index

Index effect of schema updates

Type of schema update

Re-crawl is not required. The configuration change takes effect immediately.

  • Add, delete, or modify the configuration of a RankProfile, FullTextIndexRankComponent, ManagedPropertyBoostComponent, or QualityComponent object

  • Delete a ManagedProperty, FullTextIndex, FullTextIndexMapping, or RefinerConfiguration object

  • Add a RefinerConfiguration object that has RefinementType=DeepRefinementDisabled

  • Delete a RefinerConfiguration object

  • Modify a RefinerConfiguration object, except changing the RefinementType from DeepRefinementDisabled to DeepRefinementEnabled

  • Modify a ManagedProperty object by disabling one of the following features:

    • Queryable=False

    • RefinementEnabled=False

    • SortableType=Disabled

    • SummaryType=Disabled

Re-crawl is not required. However, the configuration change is not reflected in the index before the items are re-crawled.

  • Add a ManagedProperty, FullTextIndex, or FullTextIndexMapping

  • Add a RefinerConfiguration with RefinementType=DeepRefinementEnabled or RefinementType=ShallowRefinement

  • All configuration changes to a ManagedProperty object, except the configuration changes listed in any of the other rows in this table

  • Modify the configuration of a FullTextIndex or FullTextIndexMapping object

  • Add, delete, or modify the configuration of a Category, CrawledProperty, or CrawledPropertyMapping object

Re-crawl and re-indexing of all items are required.

Modify the configuration of the ManagedProperty property SubstringEnabled. For more information, see Enable Substring Search.

Substring search can be enabled in order to improve search for Chinese, Japanese and Korean languages. For details, see Plan the Index Schema (FAST Search Server 2010 for SharePoint).

If you modify the configuration of the ManagedProperty property SubstringEnabled, a re-indexing of all items will automatically occur before the configuration change occurs in the index.

Before you modify this property, you must configure the AllowIndexPurgeOnSchemaUpdate flag to yes in the configuration file %FASTSEARCH%\components\admin-services\web.config on the administration server.

Note

You must re-crawl all content after the configuration change has occurred. This is required in order to achieve correct tokenization.

Introduction to the Index Schema Object Model Interfaces

The following sections describe the index schema object model, its main interfaces, and its properties.

The object model contains the following main interfaces:

  • CrawledProperty  Represents one crawled property within the index schema.

  • Category  Represents a high-level grouping of crawled properties.

  • ManagedProperty  Represents one managed property within the index schema.

  • FullTextIndex  Represents one full-text index within the index schema.

  • FullTextIndexMapping  Represents the mapping of one managed property to a full-text index.

  • RankProfile  Defines how relevance ranking of a query result is performed.

  • FullTextIndexRankComponent  Represents the configuration of proximity boost and context boost weight parameters that are associated with a given full-text index for a rank profile.

  • ManagedPropertyBoostComponent  Enables rank boost of indexed items based on matching a value of a managed property.

  • QualityComponent  Enables static rank boost of indexed items based on the value of a numeric managed property.

  • RefinerConfiguration  Represents the configuration of a query refiner that is associated with a managed property.

For a complete reference documentation, see Microsoft.SharePoint.Search.Extended.Administration.Schema.

CrawledProperty Interface

CrawledProperty represents one crawled property within the index schema, as described in Table 9.

Table 9. Key properties of the CrawledProperty interface

Property

Description

Name

Specifies the name of the crawled property, usually a hard-coded name from the source content repository.

CategoryName

Specifies the name of the crawled property category.

IsMappedToContents

Specifies whether the contents of the crawled property are mapped to the default full-text index. For more information, see FullTextIndex Interface.

IsMultiValued

This property is not used and is ignored. All crawled properties support multivalue data from the content source.

Note

When mapping multivalue crawled properties to managed properties, you must ensure that the managed property has MergeCrawledProperties set to True. Otherwise only the first value of the crawled property will be mapped to the managed property.

IsNameEnum

Specifies whether the name of the crawled property is an enumeration (instead of a string).

Propset

The Propset of a crawled property is a GUID. A GUID is a 128-bit integer that identifies the property set the crawled property is part of. It may look like the following:

fafcebdf-cdea-4c29-b0b1-d47aba446d44

Usually, crawled properties from the same instance of an indexing connector have the same Propset value.

VariantType

The variant type for a property, represented as an integer. This indicates the data type for the property.

Category Interface

Category represents a high-level grouping of crawled properties based on the IFilter and content source that is used to extract the metadata from the content, as described in Table 10.

Table 10. Key properties of the Category interface

Property

Description

Name

Specifies the name of the crawled property category.

DiscoverNewProperties

Specifies whether newly crawled properties are discovered automatically for the category.

MapToContents

Specifies whether to map the contents of the crawled properties within this category to the default full-text index. For more information, see Full-Text Index.

If set to True, all crawled properties are mapped to the default full-text index, regardless of the MapToContents setting for each crawled property.

If set to False, only crawled properties that have MapToContents set to True are mapped to the default full-text index.

You can create a crawled property from the Category interface by using the CreateCrawledProperty method.

ManagedProperty Interface

ManagedProperty represents one managed property within the index schema. A managed property can be associated with a RefinerConfiguration object for query refinement configuration. A managed property is associated with one or more full-text indexes for ranked queries. Table 11 describes the ManagedProperty interface's key properties.

Table 11. Key properties of the ManagedProperty interface

Property

Description

Name

Specifies the name of the managed property.

Type

Specifies the data type for the managed property. The following data types are supported:

  • Text  A UTF-8 text data type for text search.

  • Integer  A 64-bit signed integer.

  • Decimal  A fixed-point signed decimal data type. The number of digits for the decimal precision is configurable.

  • Float  A 64-bit floating-point data type.

  • Datetime  A datetime data type. This data type is represented as a numeric value in the search index and supports sorting and query refinement, as does the Integer data type.

  • Boolean  A Boolean data type with valid values True and False.

DecimalPlaces

The number of decimal positions for a decimal data type.

Default: 3

DeleteDisallowed

Specifies whether a managed property can be deleted from the index schema.

IsMapped

Specifies whether the managed property is mapped to support Alternate Access Mapping (AAM).

Default: False

MappingDisallowed

Specifies whether crawled properties can be mapped to the managed property.

MaxIndexSize

Specifies the maximum number of kilobytes of data from the managed property inside an item that will be included in the search index.

Default: 1024

MaxResultSize

Specifies the maximum number of kilobytes that a document summary can contain.

Default: 64

MergeCrawledProperties

Specifies whether to include the contents of all crawled properties mapped to a managed property. If this setting is disabled, the value of the first non-empty crawled property is used as the contents of the managed property.

This property must also be set to True to include all values from a multivalued crawled property. If set to False, only the first value from a multivalued crawled property is mapped to the managed property.

Queryable

Specifies whether the managed property is queried as a single property.

Note

Even if the Queryable property is set to False, the managed property can be included in a full-text index.

RefinementEnabled

Indicates whether query refinement is enabled for this managed property.

You create a RefinerConfiguration object that has default values by setting this property to True.

You can change the RefinerConfiguration by using the GetRefinerConfiguration method and the SetRefinerConfiguration method.

Note

In order to use query refinement you must also set the Queryable property to True.

SortableType

Specifies the full-text sort configuration for the managed property.

  • SortableDisabled  Full-text sorting is not supported.

  • SortableEnabled  Full-text sorting is enabled and activated in the search index.

  • LatentSortable  Full-text sorting is enabled in the search index, but not activated. This means the index is prepared for sorting based on this managed property. However, the supporting index structures are not loaded into main memory. SortableType can later be set to Enabled without re-indexing the items. For more information, see Plan the Index Schema (FAST Search Server 2010 for SharePoint) on Microsoft TechNet.

StemmingEnabled

Specifies whether stemming is supported for this managed property.

SubstringEnabled

Specifies whether substring search is supported for this managed property.

For more information, see Plan the Index Schema (FAST Search Server 2010 for SharePoint) on Microsoft TechNet.

SummaryType

The document summary type for this managed property. This defines how the content of the managed property is returned for matching items in query results.

  • Disabled Document summaries are not supported for this managed property.

  • Static  The document summary is a text representation of the managed property.

  • Dynamic  The document summary is a hit highlighted summary of the managed property.

    For this summary type, you can also specify a fallback managed property by using the SetResultFallBack method. If a hit highlighted summary cannot be created for a query, the document summary associated with the fallback managed property is returned in the query result.

You can create a managed property by using the Create method of the ManagedPropertyCollection interface.

You can map a set of crawled properties to a managed property by using the CrawledPropertyMapping interface. You associate the mapping with your managed property by using the SetCrawledPropertyMappings method.

You can map the managed property to one or more full-text indexes by using the FullTextIndexMappingCollection interface. You access this interface using the GetFullTextIndexMappings method.

FullTextIndex Interface

FullTextIndex represents one full-text index within the index schema.

You can access an existing full-text index using the FullTextIndexCollection interface. You use the FullTextIndexCollection.Create method to create a new full-text index.

Table 12 describes the FullTextIndex interface's key properties.

Table 12. Key properties of the FullTextIndex interface

Property

Description

Name

Specifies the name of the full-text index.

IsDefault

Specifies whether this full-text index is the default index for queries.

StemmingEnabled

Describes whether stemming is supported.

DeleteDisallowed

A Boolean value indicating whether a managed property can be deleted. If set, this is a mandatory managed property.

Note

Do not delete and re-create a full-text index with the same name but a different configuration. The re-created full-text index will at first contain all items that were indexed in this full-text index before deletion. The items that no longer belong in the full-text index will appear in query results until the items are updated or deleted.

FullTextIndexMapping Interface

FullTextIndexMapping associates one managed property with a full-text index.

The properties of this interface are read-only. You can map the managed property to one or more full-text indexes by using the Create method of the FullTextIndexMappingCollection interface. You access this interface by using the GetFullTextIndexMappings method of the ManagedProperty interface.

Table 13 describes the FullTextIndexMapping interface's key properties.

Table 13. Key properties of the FullTextIndexMapping interface

Property

Description

FullTextIndex

Specifies the name of the full-text index for this mapping.

ImportanceLevel

Get the importance level for this mapping.The importance level is an integer value between 1 and 7.

For more information, see Importance Level and Drilling.

ManagedProperty

Specifies the name of the managed property for this mapping.

RankProfile Interface

RankProfile represents the configuration of a given rank profile, and defines how relevance ranking of a query result is performed.

Table 14 describes the RankProfile interface's key properties.

Table 14. Key properties of the RankProfile interface

Property

Description

Name

Specifies the name of the rank profile.

IsDefault

The Boolean value that specifies whether this is the default rank profile.

You specify a rank profile as default using the makeDefault method.

StopWordThreshold

Drilling works with a stop word threshold to ensure that the most relevant items are returned first when the stop word threshold is reached on a query against a full-text index. Drilling enables you to automatically drill down in a result set by narrowing the number of properties to query within the target full-text index (drill levels).

The StopWordThreshold value is relative to a reference index size of 10,000,000 items. A StopWordThreshold of 10,000,000 means that ranking is performed against all items in the index. The default value is 2,000,000, which means that drilling is performed when a search word is found in more than 20 percent of items in the index (StopWordThreshold divided by 10,000,000).

Default: 2,000,000

PositionStopWordThreshold

Controls whether a search word will contribute to the proximity component of the rank score for a specified query.

If D is the number of items matching the search word on a given search node, and O is the total number of occurrences of the search word across the D items, and X is the PositionStopWordThreshold value, then any search word that has (D + O) less than X will always be considered when calculating proximity boost on this search node.

If the search word has a value (D + O) larger than X, then position information will not be retrieved for that word on this search node. Therefore, the search word will not be considered when calculating proximity boost on this search node.

Default: 20,000,000

QualityWeight

Specifies the relevance coefficient for the quality rank component.

The weight is normalized, and you will typically use as a value between 0 and 100.

AuthorityWeight

The relevance coefficient for the authority rank component.

The weight is normalized, and you will typically use as a value between 0 and 100.

QueryAuthorityWeight

The relevance coefficient for the query authority rank component.

The weight is normalized, and you will typically use as a value between 0 and 100.

FreshnessWeight

The relevance coefficient for the freshness rank component.

The weight is normalized, and you will typically use as a value between 0 and 100.

FreshnessResolution

The resolution for calculating freshness boost. Resolution set to hour indicates that items with a time stamp within the same hour will get the same freshness rank boost.

Valid values are as follows:

  • Second

  • Minute

  • Hour

  • Day

  • Year

RankModelName

An advanced configuration option. Use the default rank model named default.

You can associate one or more full-text indexes to a rank profile by using the FullTextIndexRankCollection interface, which represents a collection of FullTextIndexRankComponent objects. You manage the mapping by using the GetFullTextIndexRanks method.

You can associate one or more managed property boost configurations to a rank profile by using the ManagedPropertyBoostCollection interface, which represents a collection of ManagedPropertyBoostComponent objects. You manage the mapping by using the GetManagedPropertyBoosts method.

You can associate one or more managed properties for quality ranking (static ranking) to a rank profile by using the QualityComponentCollection interface, which represents a collection of QualityComponent objects. You manage the mapping by using the GetQualityComponents method.

FullTextIndexRankComponent Interface

FullTextIndexRankComponent represents the configuration of proximity boost, context boost, and importance level weight parameters that are associated with a given full-text index for a rank profile. For more information about the rank concepts, see Rank Profile.

Table 15 describes the FullTextIndexRankComponent interface's key properties.

Table 15. Key properties of the FullTextIndexRankComponent interface

Property

Description

ProximityWeight

Specifies the relevance coefficient for the proximity boost component that is related to this full-text index for the associated rank profile. The value defines the relative weight of this component compared to the other boost components.

The weight is normalized, and you will typically use as a value between 0 and 100.

ContextWeight

The relevance coefficient for the context boost component that is related to this full-text index for the associated rank profile. The value defines the relative weight of this component compared to the other boost components.

The weight is normalized, and you will typically use as a value between 0 and 100.

FullTextIndexReference

Specifies the full-text index that the relevance coefficients apply to.

You manage the relevance weight for the different importance levels by using the methods GetImportanceLevelWeight and SetImportanceLevelWeight. This represents the relevance coefficient for the context boost component that is associated with this importance level. The weight is normalized, and you will typically use as a value between 0 and 100. For more information, see Importance Level and Drilling.

ManagedPropertyBoostComponent Interface

ManagedPropertyBoostComponent enables rank boost of indexed items based on a word match with a managed property. Any searchable managed property that has a matching value can be used as input for additional rank points. For more information, see Rank Profile.

Table 16 describes the ManagedPropertyBoostComponent interface's key properties.

Table 16. Key properties of the ManagedPropertyBoostComponent interface

Property

Description

ManagedPropertyName

Specifies the name of a managed property that is affected by the boost value.

BoostValue

Specifies one or more concatenated boost values that apply to the indicated managed property. A boost value is formatted as follows:

<boost term>, <boost amount>

For example:

Microsoft, 200

This configuration example will add a boost value of 200 to the rank for any item in the result set that contains the token "Microsoft" in the managed property given by ManagedPropertyName.

Multiple boost values can be given for the same managed property. For example:

doc, 2000, docx, 3000

This configuration example will boost items that contain "doc" or "docx" in the managed property given by ManagedPropertyName. The boost value is 2000 for "doc" and 3000 for "docx".

QualityComponent Interface

QualityComponent enables quality (static) rank boost of indexed items based on the numeric value of a managed property.

Table 17 describes the QualityComponent interface's key properties.

Table 17. Key properties of the QualityComponent interface

Property

Description

ManagedPropertyReference

Specifies the name of a managed property that represents the quality boost.

Weight

Specifies the relevance coefficient for the quality boost value that is related to this managed property. The value defines the relative weight of this component compared to the other quality boost components.

The weight is normalized, and you will typically use a value between 0 and 100.

RefinerConfiguration Interface

RefinerConfiguration represents the configuration of a query refiner that is associated with a managed property. For more information, see Query Refinement.

Note

For managed properties of type Integer, you should not enable query refinement if the managed property may contain negative values. If a refinement bin (value range) contains negative values, it is not possible to drill down into this value range.

Table 18 describes the RefinerConfiguration interface's key properties.

Table 18. Key properties of the RefinerConfiguration interface

Property

Description

RefinementType

Specifies the kind of query refinement that is enabled for this refiner.

  • DeepRefinementEnabled  Deep refinement is enabled.

    The query refinement is based on the aggregation of managed property statistics for all of the results of a search query.

  • DeepRefinementDisabled  Shallow refinement is enabled.

    The query refinement is based on the aggregation of managed property statistics for the top ranked hits of a search query.

  • LatentRefinement  Deep refinement data is included in the index file structures, but is otherwise not enabled. This means the index is prepared for deep refinement based on this managed property. However, the supporting index structures are not loaded into main memory. RefinementType can later be changed to DeepRefinementEnabled without re-indexing the items.

Default: DeepRefinementEnabled

Algorithm

Specifies the numeric refiner discretization algorithm.

  • Equalfrequency  The value range of different refinement bins can have different widths. The widths are calculated in such a way that approximately the same number of observations falls into each refinement bin.

  • Equalwidth  The value range of each refinement bin is equal. The width is static and not computed dynamically.

  • Rangedivision  The value range of each refinement bin is considered equal. The width is computed dynamically and is not required to be equal.

Default: equalfrequency

Anchoring

Specifies the matching mode for string refinement modifiers. This describes how a drill-down query relates to the actual content of the referenced managed property and the completeness criteria for a match.

If the referenced property is a multivalued property, the criteria apply for individual strings within the property.

  • Auto  The same as Complete if boundary match is enabled for the managed property; otherwise, it is the same as None.

  • None  The refinement modifiers will not be anchored. This means that the drill-down query will match items that contain the refinement modifier terms. However, the matching managed property can contain additional terms before or after the terms.

  • Complete  The refinement modifiers anchor to both the beginning and the end of the index field. This means a complete match between refinement modifier and managed property of the matching item.

  • Prefix  The refinement modifiers are anchored to the beginning of the managed property. This means that the matching managed property begins with the refinement modifier terms.

  • Suffix  The refinement modifiers are anchored to the end of the managed property. This means that the matching managed property ends with the refinement modifier terms.

Default: Auto

CutoffMaxBuckets

Specifies the limit for the number of refinement bins to be calculated inside an index column.

Within each column the best values (with highest frequency) are returned.

This is the preferred way to improve search performance when string refiners with many bins are returned, because it enforces an upper limit on the network traffic between the query matching nodes and the query processing nodes.

Default: 1000

DefaultValue

Specifies the default value that is used for items that have no value for the managed property associated with this refiner.

Default: None

Divisor

Used to scale down refinement values before they are displayed to the user. For example, if the actual values are in bytes and the conversion unit is kilobytes, then use Divisor=1024.

Default: 1

Intervals

Specifies the maximum number of refinement bins to generate.

Default: 4

Resolution

The resolution of the returned refinement bin. This is applicable only for numeric refiners. For example, to align to every 100 boundary, use resolution="100".

Note

If you use this property for a Datetime refiner, the value represents increments of 100 nanoseconds.

Default: 1

See Also

Reference

Microsoft.SharePoint.Search.Extended.Administration.Schema

Concepts

Configure FAST Search Server for SharePoint to use a Third-Party IFilter

Creating a Custom Property Extractor

Other Resources

Plan the Index Schema (FAST Search Server 2010 for SharePoint)

Manage Index Schema (FAST Search Server 2010 for SharePoint)

Tune Relevance (FAST Search Server 2010 for SharePoint)

Index Schema cmdlets (FAST Search Server 2010 for SharePoint)