Ripristinare l'indice del contenuto (SharePoint Server 2010)
Domanda
secondo tale articolo technet è possibile azzerare manualmente indice di contenuto.
Mi chiedevo se questo compito potrebbe essere del piano da eseguire una volta alla settimana, per esempio, automaticamente?
Soluzione
sono riuscito a trovare nessun modo OOB per fare questo in stsadm o PowerShell, quindi si potrebbe o scrivere un processo timer personalizzato server specifico che fa questo ad intervalli pre-programmato, o di creare un cmdlet PowerShell che si chiama utilizzando pianificazione sul server che gestisce il servizio di ricerca delle applicazioni.
using Microsoft.Office.Server.Administration;
using Microsoft.Office.Server.Search.Administration;
public static void ResetContent()
{
try
{
SearchContext searchContext = SearchContext.GetContext(ServerContext.Default);
searchContext.Reset(true);
}
catch (Exception ex)
{
throw new InvalidOperationException("Unable to reset content index.", ex);
}
}
In alternativa in PowerShell
$searchApp = Get-SPEnterpriseSearchServiceApplication -Identity “SearchAppName”
if($searchApp -ne $null) {
$searchAppCtx = [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($searchApp)
$searchAppCtx.Reset($true)
}
Corey Roth anche codificato questa funzionalità come un cmdlet nella sua SharePoint PowerShell Community Toolkit
Altri suggerimenti
non ho provato, ma si può provare in PowerShell:
$searchapp = Get-SPEnterpriseSearchServiceApplication
$searchapp.Reset($true, $false)
, allora è possibile pianificare il comando PowerShell