How to: Retrieve the Managed Properties for a Shared Services Provider
The Schema object in the Enterprise Search Administration object model provides access to the managed properties configured for the search service of a Shared Services Provider (SSP).
The following procedure shows how to write the full list of managed properties and their property identifiers (PIDs), from a console application.
To display the list of managed property names and PIDs from a console application
In your application, set references to the following DLLs:
Microsoft.SharePoint.dll
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
In the class file of your console application, add the following using statements near the top of the code with the other namespace directives.
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
To retrieve the Schema object for the search context of the SSP, add the following code. For more information about ways to retrieve the search context, see How to: Return the Search Context for the Search Service Provider.
/* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; SearchContext context; using (SPSite site = new SPSite(strURL)) { Context = SearchContext.GetContext(site); } Schema sspSchema = new Schema(context);
Retrieve the collection of managed properties by using the following code:
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
To loop through the managed properties, and display the name and PID for each property, add the following code.
foreach (ManagedProperty property in properties) { Console.WriteLine(property.Name + " PID: " + property.PID); }
Example
Following is the complete code for the console application class sample.
Prerequisites
- Ensure that a Shared Services Provider is already created.
Project References
Add the following Project References in your console application code project before running this sample:
Microsoft.SharePoint
Microsoft.Office.Server
Microsoft.Office.Server.Search
using System;
using System.Collections;
using System.Text;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;
namespace ManagedPropertiesSample
{
class Program
{
static void Main(string[] args)
{
try
{
/*
Replace <SiteName> with the name
of a site using the SSP
*/
string strURL = "http://<SiteName>";
SearchContext context;
using (SPSite site = new SPSite(strURL))
{
Context = SearchContext.GetContext(site);
}
Schema sspSchema = new Schema(context);
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
foreach (ManagedProperty property in properties)
{
Console.WriteLine(property.Name + " PID: " + property.PID);
}
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}
See Also
Tasks
How to: Return the Search Context for the Search Service Provider
How to: Create a Managed Property
How to: Delete a Managed Property
How to: Retrieve the Crawled Properties Mapped to a Managed Property
How to: Map a Crawled Property to a Managed Property
Concepts
Getting Started with the Search Administration Object Model
Managing Metadata