Accueil > SharePoint 2013 > SharePoint 2013 : Le Continuous Crawl

SharePoint 2013 : Le Continuous Crawl


Un nouveau type de crawl est apparu dans SharePoint 2013 : le « Continuous Crawl ».

Rappels sur les types crawls de SharePoint 2010 /2007

Dans ces versions de SharePoint, vous avez à votre disposition 2 types de crawl, configurables par source de contenu :

  • Full : Crawle tout le contenu,
  • Incrémental : Crawle le contenu ayant été modifié depuis le dernier crawl.

L’inconvénient de ces crawls, c’est qu’une fois lancé, il ne vous est pas possible d’en lancer un second en parallèle (sur la même source de contenu), et donc du contenu modifié entre temps aura besoin d’attendre la fin du crawl en cours (et d’un autre crawl) pour être intégré à l’index, et donc pour pouvoir être trouvé via la recherche.

Par exemple :

  • Un crawl A « Incrémental » est lancé et va durer 30 mn,
  • Au bout de 5 mn de crawl un item déjà crawlé est modifé, et a besoin qu’un crawl « B » soit lancé,
  • Cet item devra encore attendre au minimum 25 mn pour être intégré à l’index.

Du coup, on ne peut pas garder un index à jour des dernières modifications, car un temps de latence s’invite dans le processus.

Il est possible que dans la plupart des cas ce fonctionnement convienne à vos clients, mais pour ceux qui veulent pouvoir rechercher leur contenu immédiatement ou presque après leur intégration dans SharePoint il existe désormais une solution nouvelle dans SharePoint 2013 : le « Continuous Crawl ».

Le Continuous Crawl

Le « Continuous Crawl » est donc un type de crawl qui a pour but de maintenir l’index aussi à jour que possible.

Son fonctionnement est simple : une fois activé, il va lancer des crawls à intervalles réguliers. La différence majeure avec des crawls incrémentaux, c’est qu’ici les crawls peuvent s’exécuter en parallèle, et n’attendent donc pas que le crawl précédent soit terminé pour se lancer.

Les points à noter :

  • Le « Continuous Crawl » n’est disponible que pour les sources de contenu de type « Sites SharePoint »,
  • Par défaut, un nouveau crawl est lancé toutes les 15 mn, mais l’administrateur SharePoint peut modifier cet intervalle via le cmdlet PowerShell Set-SPEnterpriseSearchCrawlContentSource,
  • Une fois lancé, un « Continuous Crawl » ne peut être mis en pause ou arrêté; on peut par contre le désactiver.

Si nous reprenons notre exemple plus haut avec des « Continuous Crawl » :

  • Un crawl A se lance et va durer 30 mn,
  • Au bout de 5 mn de crawl un item déjà crawlé est modifé, et a besoin qu’un crawl « B » soit lancé,
  • Le crawl « B » se lance dans (15 – 5) mn,
  • Du coup cet item devra ne devra alors attendre au minimum que 10 mn (au lieu de 25 mn) pour être intégré à l’index.

Comment l’activer

1. Dans l’administration centrale, cliquez sur votre application de service de recherche, puis dans le menu sur « Content Sources »

2. Cliquez sur « New Content Source » dans le menu

3. Choisissez « SharePoint Sites » comme type

4. Sélectionnez « Enable Continuous Crawls »

5. La source est créée, son statut est alors « Crawling Continuous »

Comment surveiller l’exécution d’un Continuous Crawl

Via l’administration centrale :

1. Cliquez sur votre application de service de recherche puis sur « Crawl Log » dans la section « Diagnostics ».

2. Sélectionnez votre source de contenu dans la liste et cliquez sur « View crawl history »

3. Les données relatives au(x) crawls s’affiche(nt) – Il y a 11 autres colonnes à droite de « Duration » non affichées sur cette copie d’écran

Via PowerShell :

1. Lancez la commande suivante :

$SearchSA = « Search Service Application »

Get-SPEnterpriseSearchCrawlContentSource -SearchApplication $SearchSA | select *

Impact sur les performances du serveur

L »impact d’un « Continuous Crawl » sera le même que celui d’un crawl incrémental.

Au niveau de l’exécution en parallèle des crawls, les « Continuous Crawl » respectent les paramètres définis au niveau du « Crawler Impact Rule » qui contrôle le nombre maximum de requêtes pouvant être exécutées par le serveur (8 par défaut).

  1. Nicolopoulos
    octobre 17, 2012 à 9:53

    Bien joué !

  2. juin 17, 2013 à 7:50

    Hey, y’a encore plus vicieux : Imaginons que l’incremental crawl paramétré pour un déclenchement toutes les 30 minutes dure exceptionnellement (ou pas) plus de 30 minutes, alors le déclenchement suivant est annulé (car un crawl est en cours). A ce moment-là, ton doc a 55 minutes (voire plus) de retard sur le train, ce qui est inadmissible, c’est vrai quoi, à la fin🙂
    L’incremental crawl lui s’en *fiche* (remplacer par votre expression à base de bat-les-c… préférée), il déclenche tous les X, quoiqu’il advienne… (pauvres en RAM et SSD, s’abstenir sous peine de liquidation par NodeRunners sauvages😉 ) Et ça c’est appréciable dans les domaines volumineux…

    • juin 17, 2013 à 9:02

      Bonjour cher monsieur,
      On ne fait pas dans le vicieux ici, c’est un blog respectable !
      Mais oui, en effet🙂
      Si je puis me permettre et au risque de souligner votre laxisme en terme de relecture, c’est le continuous crawl qui s’en bat … L’aile.
      P.S : J’attends toujours ma chaise du mistral.

  3. juin 18, 2013 à 6:40

    La bière, c’est l’ennemi de la relecture. Au temps pour moi.

    Damned, j’ai pourtant fait partir les 16 colis de « votre-chaise-du-Mistral-en-kit-avec-Roland-derrière-son-bar » il y a 2 semaines… Ils ne devraient pas tarder🙂

  1. No trackbacks yet.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :