Accéder au contenu principal

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]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab