Share via

QualityComponentCollection Interface

Represents a quality component collection as a list of quality components.

Namespace:  Microsoft.SharePoint.Search.Extended.Administration.Schema
Assembly:  Microsoft.SharePoint.Search.Extended.Administration (in Microsoft.SharePoint.Search.Extended.Administration.dll)


<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Interface QualityComponentCollection _
    Inherits IEnumerable(Of QualityComponent), IEnumerable
Dim instance As QualityComponentCollection
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public interface QualityComponentCollection : IEnumerable<QualityComponent>, 


Quality components are associated with a RankProfile object and are used to influence the ranking of search results. Quality components are a weighted set of numerical and sortable managed properties which together represents the quality ranking contribution for the associated rank profile. Managed properties that are part of a QualityComponent typically describe a quality attribute of a document like [docrank] which is a system generated managed property indicating the document importance of a document based on anchor and link analysis.


This sample shows how to add a new quality component to the default rank profile

            using System;
            using Microsoft.SharePoint.Search.Extended.Administration;
            using Microsoft.SharePoint.Search.Extended.Administration.Schema;
            namespace QualityComponentSample
                class Program
                    static void Main(string[] args)
                            SchemaContext schemaContext = new SchemaContext();
                            Schema schema = schemaContext.Schema;
                            //Fetch the rank profile named 'default' which is the default rank profile. 
                            RankProfile rankProfile = schema.AllRankProfiles["default"];
                            //Create a new managed property to create a quality component for.
                            ManagedProperty managedProperty = schema.AllManagedProperties.Create("mymp", "mymp description", ManagedType.Integer);
                            //Set the sortable type of the new managed property to sortable enabled.
                            //It is only possible to create quality components of managed properties 
                            //of numeric managed type and sortable type == SortableEnabled.
                            managedProperty.SortableType = ManagedPropertySortableType.SortableEnabled;
                            QualityComponentCollection qualityComponents = rankProfile.GetQualityComponents();
                            qualityComponents.Create(managedProperty, 100); //The second argument is the weight 
                            //Print all quality components for the RankProfile named default.
                            //This will also list the new quality component if it was successfully created.
                            foreach (var component in qualityComponents)
                                Console.WriteLine("managed property: " + component.ManagedPropertyReference.Name + " weight: " + component.Weight);
                        catch (Exception ex)

See Also


QualityComponentCollection Members

Microsoft.SharePoint.Search.Extended.Administration.Schema Namespace