Le moteur de recherche SharePoint 2010 dans la vrai vie

Récemment j’ai eu à préparer un script PowerShell pour créer des sources de contenus de type “Web” (qui indexe des sites webs) sur un SharePoint Server 2010.

Pour créer une source de contenu en PowerShell c’est assez simple, SharePoint fournissant tout un tas de comandes PowerShell dédiées à cela :

$searchapp = Get-SPEnterpriseSearchServiceApplication

$ContentSourceName = "Ma Source"

$ContentSourceURL = "http://monintranet"

$TargetContentSource = New-SPEnterpriseSearchCrawlContentSource 

    -SearchApplication $searchapp 

    -Type "web"

    -name $ContentSourceName 

    -StartAddresses $ContentSourceURL

MAIS

si vous en restez là, vous aurez une configuration de votre source de contenu en mode “custom” avec un nombre de sauts illimité entre les serveurs :

image

 

Et là… c’est le drame !

Surtout si comme moi votre serveur a accès à internet, que le proxy est correctement configuré sur votre service de recherche et que le contenu que vous indexez contient des lien vers des sites externes ! En effet le moteur de crawl a commencé à indexer Internet, et au bout de 90 heure de crawling la base de donnée faisait un peu plus de 60Go et continuait gentiment à grossir !

Heureusement ici je n’ai pas l’infrastructure de Google, et donc le service à fini par se planter lamentablement par faute d’espace disque côté SQL Server….

 

DONC pour éviter cela il y a un paramètre supplémentaire dans la commande PowerShell de création de source de contenu qui permet de lui dire de ne pas faire des sauts de serveurs, c’est à dire de rester uniquement sur le site sous le(s) nom de domaine indiqué : MaxSiteEnumerationDepth

$searchapp = Get-SPEnterpriseSearchServiceApplication

$ContentSourceName = "Ma Source"

$ContentSourceURL = "http://monintranet"

$TargetContentSource = New-SPEnterpriseSearchCrawlContentSource 

    -SearchApplication $searchapp 

    -Type "web"

    -name $ContentSourceName 

    -StartAddresses $ContentSourceURL

    -MaxSiteEnumerationDepth 0

 

Le résultat est plus satisfaisant 🙂

image

 

Ensuite reste le soucis des sources de contenu qui ont tourné pendant plusieurs jours, et la base qui fait 60Go et quelques…

 

  • – La suppression des Sources de contenu via PowerShell ne fonctionnait pas, car elles sont toutes en Stopping
  • depuis quelques heures sans jamais aboutir
  • – La suppression de l’application de service de recherche via l’interface du site d’administration centrale ne fonctionne pas
  • – La suppression de l’application de service de recherche via PowerShell n’abouti aussi jamais (à priori il essai de nettoyer les 60go de datas et c’est beaucoup trop long à mon goût…)

 

J’ai donc décidé de supprimer directement depuis SQL Server les bases de données liées au service de recherche, il me fallait absolument libérer de l’espace disque sur le serveur !

 

Et là… c’est le drame ! (bis)

 

Je me suis retrouvé dans état pire qu’avant car cette fois ci la commande PowerShell de suppression de l’application de service de recherche renvoi immédiatement une erreur en indiquant une erreur de type “impossible de se connecter à la base de donnée ****search*** ”. Normal je l’ai supprimée 🙁

 

La procédure de “nettoyage” est donc un peu plus complexe que cela et se résume en 4 étapes :

  1. 1 : Suppression de l’objet correspondant à l’application de service de recherche via STSADM (et oui il est encore là et plus fort que PowerShell pour le coup 🙂 )
  2. 2 : Arrêt des instance de services liés à la recherche
  3. 3 : Nettoyage des références vers les bases de données liées au service de recherche (dans la base SharePoint_Config mais via du PowerShell)
  4. 4 : Re connection du composant d’administration de l’application de service de recherche (car après sa re création ça ne fonctionne pas forcement)

 

Je ne vous redonne pas tout le détail de la procédure car j’ai trouvé un post en anglais très détaillé et surtout bien complet avec toutes ces étapes ! Donc inutile que je fasse un copié / collé : http://pointsforsharing.com/Lists/Posts/Post.aspx?ID=5 (et merci James)

 

Voilà, j’ai enfin de nouveau un service de recherche qui fonctionne et un serveur SQL qui a de la place disque. Je n’ai plus qu’a recréer toutes mes sources de contenus, mes étendues de recherche et mes autres config personnalisées, (vive PowerShell ici aussi si vous avez pensé à tout scripter !) et à relancer les crawl !

Publié dans SharePoint Tagués avec : , , , , , ,

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Verifions que vous êtes un humain * Time limit is exhausted. Please reload CAPTCHA.

Archives

Social

  • Twitter
  • LinkedIn
  • Flux RSS
  • mvp
  • technet
  • Google+