using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;
namespace ManagedAndCrawledPropertyMappingSample
{
class Program
{
static void Main(string[] args)
{
try
{
Guid cPropGUID = new Guid("00110329-0000-0110-c000-000000111146"); // // This GUID is for 'MyBookName'. we can get this GUID through programmatically
string cPropName = "urn:schemas-microsoft-com:sharepoint:portal:profile: ‘MyBookName’";
int vType = Convert.ToInt32(0); // //We can variant type through programmatically;
string mPropName = "MyBookName";
string strCategoryName = "People";
string strCraledPropName = string.Empty;
string strURL = "http://<myServer>:14341";
SearchContext context;
using (SPSite site = new SPSite(strURL))
{
context = SearchContext.GetContext(site);
}
Schema sspSchema = new Schema(context);
// Get Crawled Properties
CategoryCollection categories = sspSchema.AllCategories;
foreach (Category category in categories)
{
// Console.WriteLine(category.Name);
if (category.Name == strCategoryName)
{
foreach (CrawledProperty property in category.GetAllCrawledProperties())
{
strCraledPropName = property.Name;
Console.WriteLine("Propset: " + property.Propset);
Console.WriteLine("Name: " + property.Name);
Console.WriteLine("VariantType: " + property.VariantType);
}
Console.Read();
}
}
Console.Read();
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
bool isMngdPropertyExists = false;
foreach (ManagedProperty mProperty in properties)
{
if (mProperty.Name == mPropName)
{
isMngdPropertyExists = true;
}
}
if (!isMngdPropertyExists)
{
ManagedProperty _mpNewProperty = properties.Create(mPropName, ManagedDataType.Text);
_mpNewProperty.Refinable = true;
_mpNewProperty.Sortable = true;
_mpNewProperty.SafeForAnonymous = true;
_mpNewProperty.Queryable = true;
_mpNewProperty.Update();
}
ManagedPropertyCollection props = sspSchema.AllManagedProperties;
ManagedProperty mProp1 = properties["MyBookName"];
foreach (CrawledProperty cProp in mProp1.GetMappedCrawledProperties(mProp1.GetMappings().Count))
{
Console.WriteLine(cProp.Name);
Console.WriteLine(cProp.Propset);
}
Console.Read();
//if (properties[mPropName] != null)
//{
// ManagedProperty _mpNewProperty = properties.Create(mPropName, ManagedDataType.Text);
// _mpNewProperty.Update();
//}
//foreach(ManagedProperty mProp1 in properties)
//{
// Console.WriteLine(mProp1.Name);
//}
//Console.Read();
ManagedProperty mProp = properties[mPropName];
//Mapping newMapping = new Mapping(cPropGUID, cPropName, vType, mProp.PID);//
MappingCollection mappings = mProp.GetMappings();
foreach (Mapping mpg in mappings)
{
Console.WriteLine("CrawledPropertyName: " + mpg.CrawledPropertyName);
Console.WriteLine("CrawledPropertyVariantType: " + mpg.CrawledPropertyVariantType);
Console.WriteLine("ManagedPid: " + mpg.ManagedPid);
}
Console.Read();
if (mProp.DeleteDisallowed)
{
mProp.DeleteAllMappings();
Console.WriteLine(mPropName + " Delete All Mappings.");
Console.Read();
}
//Mapping newMapping = new Mapping(cPropGUID, strCraledPropName, vType, mProp.PID);
Mapping newMapping = new Mapping(cPropGUID, cPropName, vType, mProp.PID);
if (mappings.Contains(newMapping))
{
Console.WriteLine("Mapping failed: requested mapping already exists.");
Console.Read();
return;
}
mappings.Add(newMapping);
mProp.SetMappings(mappings);
Console.WriteLine(cPropName + " crawled property mapped to " + mProp.Name + " managed property.");
Console.Read();
}
catch (Exception ex1)
{
Console.WriteLine(ex1.ToString());
Console.Read();
}
}
}
}
Thanks...
What assembly reference must be added for Microsoft.Office.Server.Search.Administration ?
ReplyDeleteCD14920D44
ReplyDeletekiralık hacker
hacker kirala
tütün dünyası
hacker bul
hacker kirala
4F24E33F49
ReplyDeletesteroid fiyat
steroid sipariş
steroid fiyatları
sigara satın al
whatsapp şov sitesi
Siirt Hacker
C906E50A
ReplyDeleteForum
Forum
Forum
Forum
Forum
Forum
Forum
Forum
Forum