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 |
---|---|
Specifies a crawled property. |
|
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. |
|
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 |
---|---|
Specifies a managed property. |
|
Specifies a collection of managed properties. You can create a managed property by using the ManagedPropertyCollection.Create method. |
|
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. |
|
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. |
|
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. |
|
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 |
---|---|
Specifies a full-text index. |
|
Enables access to an existing full-text index. You use the FullTextIndexCollection.Create method to create a new full-text index. |
|
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. |
|
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. |
|
You use this interface to map one managed property to the full-text index. You manage the mapping by using the ManagedProperty.GetFullTextIndexMappings method. |
|
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:
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:
|
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:
|
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 |
---|---|
Specifies a rank profile. |
|
Enables access to an existing rank profile. You use the RankProfileCollection.Create method to create a new rank profile. |
|
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. |
|
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. |
|
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. |
|
Associates one or more managed properties for quality ranking. You manage the association by using the RankProfile.GetQualityComponents method. |
|
Associates a managed property boost configuration with a rank profile. You manage the association by using the RankProfile.GetManagedPropertyBoosts method. |
|
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 |
---|---|
Specifies a query refinement. |
|
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. |
|
Re-crawl is not required. However, the configuration change is not reflected in the index before the items are re-crawled. |
|
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. |
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:
|
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.
|
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.
|
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:
|
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.
Default: DeepRefinementEnabled |
Algorithm |
Specifies the numeric refiner discretization algorithm.
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.
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)