Export (0) Print
Expand All

QualityComponentCollection Interface

SharePoint 2010

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 : IEnumerable<QualityComponent>, 
	IEnumerable

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)
                    {
                        try
                        {
                            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;
                            managedProperty.Update();
            
                            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)
                        {
                            Console.WriteLine(ex.ToString());
                        }
                    }
                }
            }
             
Show:
© 2015 Microsoft