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

Redonner vie à une Microsoft Surface RT : le guide ultime vers Linux !

Vous avez une vieille Microsoft Surface RT qui traîne dans un tiroir ? Vous savez, cette tablette de 2012 devenue inutilisable depuis l'abandon officiel de Windows RT par Microsoft ? Ne la jetez surtout pas ! Dans ma dernière vidéo, je vous montre comment transformer cet appareil, autrefois considéré comme un "presse-papier", en une tablette Linux moderne et parfaitement fonctionnelle . Pourquoi ce projet ? L'objectif est simple : transformer ce matériel pour en faire un dashboard dédié à mon système Home Assistant. En installant postmarketOS , une version de Linux spécialement conçue pour les appareils ARM abandonnés, on redonne une seconde jeunesse à cette machine . Ce que vous allez apprendre dans ce tutoriel complet : La libération du matériel : Comment réinstaller la version d'origine pour passer outre les blocages de Windows 8.1 . Jailbreak & Secure Boot : La procédure indispensable pour déverrouiller la machine et permettre l'installation d...

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

Mixer les batteries Enphase et Zendure : La solution ultime pour l'autoconsommation ?

Introduction Vous avez déjà une installation solaire équipée de micro-onduleurs Enphase , mais vous trouvez que le stockage officiel de la marque est trop coûteux ou difficile à installer en DIY ? Vous n'êtes pas seul. Aujourd'hui, je vous partage mon retour d'expérience complet sur une configuration qui intrigue beaucoup de monde : le couplage d'un système Zendure SolarFlow avec un environnement Enphase existant. Pourquoi vouloir mixer ces deux marques ? Le système Enphase est une référence en termes de fiabilité, mais l'ajout de batteries IQ Battery peut représenter un investissement lourd. À l'inverse, Zendure propose avec le SolarFlow une solution de stockage plug-and-play extrêmement flexible et souvent plus abordable. L'idée est simple : utiliser le SolarFlow comme "tampon" entre vos panneaux et vos micro-onduleurs pour stocker l'excédent de la journée et le réinjecter la nuit. Le montage : Est-ce vraiment compliqué ? Dans ma dernière ...