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();
}