David Schneider

SharePoint and Office 365 Blog


Hinterlasse einen Kommentar

Reindex einer Liste anstossen

SharePoint bietet die Möglichkeit, bestimmte Listen explizit neu indexieren zu lassen. Beim nächsten Incremental Crawl wird dann der Inhalt dieser einen Listen neu indexiert. Normalerweise geschieht dies nur bei einem Full Crawl. In grossen Farmen kann ein solcher Full Crawl aber Stunden oder gar Tage dauern.

In den List Settings unter Advanced kann man für jede beliebige Liste eine Reindexierung anstossen.

reindex

Ändert man die Konfiguration des Search Schemas (z.B. neue Managed Properties) kann man mit dem nachfolgenden PowerShell Script einfach einen Reindex aller Liste eines bestimmten Typs (hier mit dem Namen „Tasks“) initiieren.

$wa = get-spwebapplication "https://intranet.contoso.com"
foreach($site in $wa.sites)
{
  foreach($web in $site.AllWebs)
  {
    $list = $web.Lists["Tasks"]
    if($list -ne $null)
    {
      Write-Host "Reindex $($web.Title)"
      $version = $list.RootFolder.Properties["vti_searchversion"]
      $list.RootFolder.SetProperty("vti_searchversion", ($version + 1)); 
      $list.Update();                
    } 
    $web.Dispose()
  } 
  $site.Dispose()
}