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 ProviderHow 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 ModelManaging Metadata