Como a: criar uma propriedade gerenciada
O objeto Schema esquema no modelo objeto administração Pesquisar da empresa osssearchshort fornece acessar para o gerenciado propriedades configuradas para o serviço pesquisa de um Shared Services Provider (SSP). Para obter mais informações sobre o objeto Schema esquema, consulte Gerenciamento de metadados.
O seguinte procedimento mostra como criar um gerenciado propriedade de um aplicativo console.
Para criar um gerenciado propriedade de um aplicativo console
No seu aplicativo, definir referências para o seguinte DLLs:
Microsoft.SharePoint.dll
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
No arquivo classe do seu aplicativo de console, adicionar o seguinte using instruções perto de parte superior da codificar Using com as outras diretivas de espaço para nome.
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
Crie uma função para gravar informações de uso para o janela do console.
static void Usage() { Console.WriteLine("Create Managed Property"); Console.WriteLine("Usage: CreateManagedPropertiesSample.exe PropertyName <DataType>"); Console.WriteLine("<DataType> - The data type for the new property. Must be one of:"); Console.WriteLine("binary"); Console.WriteLine("datetime"); Console.WriteLine("decimal"); Console.WriteLine("integer"); Console.WriteLine("text"); Console.WriteLine("yesno"); }
No Main() Main() função do aplicativo de console, adicionar codificar a verificar o número de itens de parâmetro args[] args []; Ele deve igual a 2. Se ele não, em seguida, chamar o Usage() Usage() função definido na etapa 3.
if (args.Length != 2) { Usage(); return; }
Recuperar os valores especificados no parâmetro args[] args [], ser usado para especificar o nome e tipo de dados para o gerenciado propriedade.
string strName = args[0]; string strDataType = args[1];
Para recuperar o objeto Schema esquema para contexto pesquisa do SSP, adicionar o seguinte codificar. Para obter mais informações sobre maneiras para recuperar o contexto pesquisa, consulte Como a: Return o contexto de pesquisa para o provedor de serviço de pesquisa.
/* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
Recuperar a coleção de gerenciado propriedades usando a seguinte codificar:
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
Determinar se a coleção de gerenciado propriedades já inclui um gerenciado propriedade com o mesmo nome especificado para a nova propriedade.
if (properties.Contains(strName)) { Console.WriteLine("Managed Property with that name already exists."); return; }
Se o método contém Containsfalse retorna, usando o valor na variável de strDataType strDataType, determine qual tipo de dados usar e, em seguida, criar chamar o Create método para criar o gerenciado novo propriedade.
switch (strDataType) { case ("binary"): properties.Create(strName, ManagedDataType.Binary); Console.WriteLine(strName + " created."); break; case ("datetime"): properties.Create(strName, ManagedDataType.DateTime); Console.WriteLine(strName + " created."); break; case ("decimal"): properties.Create(strName, ManagedDataType.Decimal); Console.WriteLine(strName + " created."); break; case ("integer"): properties.Create(strName, ManagedDataType.Integer); Console.WriteLine(strName + " created."); break; case ("text"): properties.Create(strName, ManagedDataType.Text); Console.WriteLine(strName + " created."); break; case ("yesno"): properties.Create(strName, ManagedDataType.YesNo); Console.WriteLine(strName + " created."); break; default: Console.WriteLine("Datatype not recognized."); Usage(); break; }
Exemplo
Este é o completo codificar para o aplicativo de console exemplo descrito neste tópico.
Pré-requisitos
- Certifique-se que um provedor de serviços compartilhados já é criado.
Referências do projeto
Adicione o seguinte referências do projeto no seu projeto código do aplicativo console antes execução neste exemplo:
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 CreateManagedPropertiesSample
{
class Program
{
static void Main(string[] args)
{
try
{
if (args.Length != 2)
{
Usage();
return;
}
string strName = args[0];
string strDataType = args[1];
/*
Replace <SiteName> with the name of a site using the SSP
*/
string strURL = "http://<SiteName>";
Schema sspSchema = new Schema(SearchContext.GetContext(new SPSite(strURL)));
ManagedPropertyCollection properties = sspSchema.AllManagedProperties;
if (properties.Contains(strName))
{
Console.WriteLine("Managed Property with that name already exists.");
return;
}
switch (strDataType)
{
case ("binary"):
properties.Create(strName, ManagedDataType.Binary);
Console.WriteLine(strName + " created.");
break;
case ("datetime"):
properties.Create(strName, ManagedDataType.DateTime);
Console.WriteLine(strName + " created.");
break;
case ("decimal"):
properties.Create(strName, ManagedDataType.Decimal);
Console.WriteLine(strName + " created.");
break;
case ("integer"):
properties.Create(strName, ManagedDataType.Integer);
Console.WriteLine(strName + " created.");
break;
case ("text"):
properties.Create(strName, ManagedDataType.Text);
Console.WriteLine(strName + " created.");
break;
case ("yesno"):
properties.Create(strName, ManagedDataType.YesNo);
Console.WriteLine(strName + " created.");
break;
default:
Console.WriteLine("Datatype not recognized.");
Usage();
break;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
static void Usage()
{
Console.WriteLine("Create Managed Property");
Console.WriteLine("Usage: CreateManagedPropertiesSample.exe PropertyName <DataType>");
Console.WriteLine("<DataType> - The data type for the new property. Must be one of:");
Console.WriteLine("binary");
Console.WriteLine("datetime");
Console.WriteLine("decimal");
Console.WriteLine("integer");
Console.WriteLine("text");
Console.WriteLine("yesno");
}
}
}
Consulte também
Outros recursos
Gerenciamento de metadados
Como a: Return o contexto de pesquisa para o provedor de serviço de pesquisa
Como a: recuperar as propriedades gerenciadas para um provedor serviços compartilhados
Como a: excluir uma propriedade gerenciada