Exportar e importar definições de configuração de pesquisa no SharePoint

Obtenha os exemplos de código que mostram como exportar e importar definições de configuração de pesquisa personalizada. Essas configurações incluem todas as regras de consulta personalizada, fontes de resultado, tipos de resultado, modelos de classificação e configurações de pesquisa do site. O SharePoint expõe essa funcionalidade por meio do namespace Microsoft.Office.Server.Search.Portability. Você também pode exportar configurações de configuração de pesquisa personalizadas de um aplicativo de serviço Pesquisa (SSA) e importar as configurações para coleções de sites e sites.

Observação

[!OBSERVAçãO] Você não pode importar definições de configuração de pesquisa personalizada para um SSA ou exportar as definições de configuração de pesquisa padrão.

Exportar definições de configuração de pesquisa

O código a seguir mostra como usar SearchConfigurationPortability para exportar as configurações de configuração de pesquisa do site. O código usa um de site de exemplo http://yoursite/sites/publishing1, que você substituiria com seu próprio site. fileName refere-se ao arquivo onde as definições de configuração de pesquisa estão armazenadas; owner Especifica o nível de SPWeb no qual as definições de configuração de pesquisa são obtidas.


private static void Export(string fileName)
{
    SPSite site = new SPSite("http://yoursite/sites/publishing1");
    SearchConfigurationPortability conf = new SearchConfigurationPortability(site);
    SearchObjectOwner owner = new SearchObjectOwner(SearchObjectLevel.SPWeb, site.OpenWeb());
    var buff = conf.ExportSearchConfiguration(owner);
    File.WriteAllText(fileName, buff);
    site.Close();
}

Importar definições de configuração de pesquisa

O código a seguir mostra como importar configurações de configuração de pesquisa de um arquivo usando SearchConfigurationPortability e substituir as configurações de pesquisa existentes em um site especificado, http://yoursite/sites/publishing1. fileName refere-se ao arquivo onde as definições de configuração de pesquisa estão armazenadas; owner Especifica o nível de SPWeb no qual as definições de configuração de pesquisa são obtidas.


private static void Import(string fileName)
{
    SPSite site = new SPSite("http://yoursite/sites/publishing1");
    SearchConfigurationPortability conf = new SearchConfigurationPortability(site);
    SearchObjectOwner owner = new SearchObjectOwner(SearchObjectLevel.SPWeb, site.OpenWeb());
    conf.ImportSearchConfiguration(owner, File.ReadAllText(fileName));
    site.Close();
}

Confira também