Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

SharePoint : Erreur récurrente sur le Search MOSS

En configurant MOSS Search pour une grosse structure, on se retrouve rapidement avec de très nombreuses sources de données dans la configuration du Crawler.

Dans mon cas, j’ai plus de 50 sources de contenu de différents types :

  • SharePoint WSS V3
  • SharePoint WSS V2
  • SharePoint SPS 2003
  • Public Web Site
  • MOSS 2007 (Contenu et profils)

Cas d’erreur

Le fait est que lors du crawl, le moteur de recherche peut recontrer des erreurs (erreur en Read ou en Write), que l’on peut voir comme suit (en se connectant en mode Console avec MSTSC) :

image

Qui au bout d’un moment propose d’être remontés à Microsoft via le Reporting :

image

Avec un exemple de détails comme suit :

image

On les retrouve aussi dans l’Event Viewer (en grand nombre) :

image

Quoi qu’il en soit, ces erreurs rencontrées par le Crawler bloque celui-ci et aucune indexation en cours ne se termine alors et si rien ne se passe, les indexations ne se termineront jamais

image

Le fait est que ces erreurs ont aussi pour effet secondaire de ne pas permettre d’arrêter une indexation en cours. Si on va par l’interface graphique dans la liste des sources et que l’on demande de stopper une source précise, celle-ci se place alors en “Stopping” et ne bouge plus.

Il faut alors effectuer un arrêt du service d’indexation (qui se redémarre tout seul).

  • NET STOP OSEARCH

Il faudrait donc passer son temps à stopper une source de contenu en cours d’indexation et relancer le service. Mais ceci est encore bloqué par le fait que l’ordre des arrêts d’indexation ne doit pas être fait n’importe comment, sinon rien ne se passe.

Bref, cela devient rapidement cauchemardesque et on peut passer un long moment pour traîter ce cas.

Solution

La solution est encore l’utilisation d’un script PowerShell qui va vous permettre de changer le status de toutes les sources d’indexation (et cela couplé avec un restart du service)

function Start-Stop-All-Crawl([string]$SiteCollectionURL, [string]$FullIncrementalorStop)
{
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server.Search") > $null

    $site = new-object Microsoft.SharePoint.SPSite($SiteCollectionURL)
    Write-Host "SiteCollectionURL", $SiteCollectionURL
    $context =  [Microsoft.Office.Server.Search.Administration.SearchContext]::GetContext($site)

    $site.Dispose()
    $sspcontent = new-object Microsoft.Office.Server.Search.Administration.Content($context)
    $sspContentSources =  $sspcontent.ContentSources
    Write-Host "Total of Content Sources: ", $sspContentSources.Count
    foreach ($cs in $sspContentSources)
    {
        Write-Host "NAME: ", $cs.Name, " - ID: ", $cs.Id
        switch($FullIncrementalorStop)
        {
        "full"
            {
                Write-Host "Start Full Crawl"
                $cs.StartFullCrawl()
                Write-Host "Full Crawl Started"
            }
        "incremental"
            {
                Write-Host "Start Incremental Crawl"
                $cs.StartIncrementalCrawl()
                Write-Host "Incremental Crawl Started"
            }
        default
            {
                Write-Host "Stop Crawl"
                $cs.StopCrawl()
                Write-Host "Crawl Stopped"
            }
        }
    }
}

Que l’on utilise comme suit :

Start-Stop-All-Crawl “http://mysearchMOSS” ""

Attention

Cette solution ne traîte en rien le problème déclenchant l’erreur, mais permet juste de relancer votre serveur et le remettre dans une situation “normale”. Il vous faudra alors chercher la source de ces erreurs afin de les corriger.

Dans certains cas, il est même préférable de redémarrer le serveur d’indexation.

Romelard Fabrice [MVP]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: lundi 22 décembre 2008 11:42 par ROMELARD Fabrice

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01