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 : Détails de la configuration du moteur de recherche pour les documents PDF

Logo Microsoft SharePoint 2010

La configuration du moteur de recherche de SharePoint pour l’indexation des documents de type PDF est un sujet largement traité comme, par exemple, le tutoriel complet :

Et même sur la page officielle du filtre d’indexation d’ADOBE :

On y trouve d’ailleurs 3 documents PDF pour activer ce filtre sur Exchange, SharePoint et SQL Server :

Malgré toutes ces explications, il y a plusieurs détails à ajouter qui sont dispersés dans ces différentes documentations.


Ajouter le chemin BIN dans le Path

Dans la page officielle d’ADOBE; ce petit chapitre a une importance collossale :

After installing the PDF iFilter, it is recommended that you set your system PATH environment variable to the "bin" folder of the "Ifilter" installation. For example, from the "Control Panel\System\Advanced\Environment Variables" tab, append to PATH "C:\Program Files\Adobe\Adobe PDF iFilter 9 for 64-bit platforms\bin\" and then restart the computer

En effet, si ce chemin n’est pas ajouté dans le PATH du système de votre serveur d’indexation, il y a toutes les chances que celui-ci ne puisse pas crawler correctement votre contenu et donc permettre à vos utilisateurs une recherche FullText des documents PDF.

J’ai testé en production et cela nous a corrigé ce soucis. En revanche, cela ne permet pas pour autant d’indexer un document protégé.


Ajouter les répertoires d’indexation dans les exceptions de votre Antivirus

Cette question permet d’accélérer le temps d’indexation du contenu, car dans le cas contraire, les répertoires de travail du moteur de recherche seront sans arrêt scrutés et analysé par l’antivirus.

Il y a donc 2 répertoires à ajouter en exception, selon votre configuration et si elle est totalement basique :

  • Windows SharePoint Services V3 (2007) :
    • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\
    • C:\Documents and Settings\[ServiceAccount]\Local Settings\Temp\gthrsvc\
  • Windows SharePoint Services V4 (2010) :
    • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\
    • C:\Users\svc_spssql\AppData\Local\Temp\gthrsvc_SPSearch4\
  • Microsoft Office SharePoint Server (2007) :
    • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\
    • C:\Documents and Settings\svc_spssql\Local Settings\Temp\gthrsvc\
  • Microsoft SharePoint Server (2010) :
    • C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\
    • C:\Users\svc_spssql\AppData\Local\Temp\gthrsvc_OSearch14\


Augmentation des ressources mémoires allouées au moteur d’indexation

Dans le cas classique, l’indexation des documents PDF est lourde pour le serveur, ce qui vous fait apparaître des message d’erreur dans l’Event Viewer de Windows tel que :

Event Type:    Information
Event Source:    Windows SharePoint Services 3 Search
Event Category:    Gatherer
Event ID:    2478
Date:        12/28/2012
Time:        9:12:31 AM
User:        N/A
Computer:    XXXXXX
Description:
The search service stopped the filter daemon because it was consuming too many resources. A new daemon will automatically be started, and no user action is required.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Et ceci toutes les minutes, si le moteur est en cours d’indexation d’une liste de fichier PDF.

La solution est fournie sur un forum (CF. Search Service Stopped the filter daemon Sharepoint) :

IFilter Issues - the Adobe PDF IFilter can only filter one file at a time and that will slow crawls down, and has a high reject rate for new PDFs
Solution: Use a retail PDF filter from pdflib.com or Foxit
Not enought Memory Allocated to Filter Process - an aspect of the crawling process is then the filtering deamons use up to much memory (mssdmn.exe) they get automatically terminated and restarted. There is of course a windup time when this happend and can slow down your crawling. The current default setting is pretty low (around 100M) so is easy to trip when filter large files. You can and should increase the memory allocation by adjusting the following registry keys
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Global\Gathering Manager: set DedicatedFilterProcessMemoryQuota = 200000000 Decimal
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Global\Gathering Manager: set FilterProcessMemoryQuota = 200000000 Decimal
Bad File Retries - there is a setting in the registry that controls the number of times a file is retried on error. This will severly slow down incremental crawls as the default is 100. This retry count can be adjust by this key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Global\Gathering Manager: set DeleteOnErrorInterval = 4 Decimal

General Architecture Issues - Ensure that you have at least 2 Gig of free memory available before your crawl even starts and that you have at least 2 real processors available.

Ainsi, suivant votre version de SharePoint, vous pouvez modifier les clés de registres selon ces valeurs :

Windows SharePoint Services V3 (2007) :

KEY: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Global\Gathering Manager

Item:                 FilterProcessMemoryQuota
Original Value:     104857600 (Decimal) > 100 MB
New value:            200000000 (Decimal) > ~200 MB
                   
Item:                DedicatedFilterProcessMemoryQuota
Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Item:                DeleteOnErrorInterval
Original Value:     100 (Decimal)
New value:            4 (Decimal)

Microsoft Office SharePoint Server (2007) :

KEY: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\Search\Global\Gathering Manager

Item:                 FilterProcessMemoryQuota

Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Item:                DedicatedFilterProcessMemoryQuota

Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Item:                DeleteOnErrorInterval

Original Value:     100 (Decimal)
New value:            4 (Decimal)

Windows SharePoint Services V4 (2010) :

KEY: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\Search\Global\Gathering Manager

Item:                 FilterProcessMemoryQuota
Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Item:                DedicatedFilterProcessMemoryQuota
Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Microsoft SharePoint Server (2010) :

KEY: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\14.0\Search\Global\Gathering Manager

Item:                 FilterProcessMemoryQuota
Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Item:                DedicatedFilterProcessMemoryQuota
Original Value:     104857600 (Decimal)
New value:            200000000 (Decimal)

Sur une ferme de production, on peut voir immédiatement la différence, car les messages d’erreur ne surviennent plus et la mémoire des démons tournent en dessous de la limite maximale allouée :

image


Conclusion

Une fois ces modifications effectuées, il faut alors redémarrer le service du moteur de recherche selon votre version, voir redémarrer votre serveur afin de recharger entièrement la configuration.

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: vendredi 28 décembre 2012 15:58 par ROMELARD Fabrice

Commentaires

VANNESTE Xavier a dit :

Bonjour Fabrice,

je ne suis pas trop pour l'IFilter d'adobe, je conseil fortement celui de foxit http://blogs.msdn.com/b/opal/archive/2010/02/09/pdf-ifilter-test-with-sharepoint-2010.aspx ici tu as une bonne comparaison entre les trois plus gros acteurs du marché :)

sinon merci pour cet article surtout les clés de base de registre ;) dommage qu'en 2013 le support du PDF est natif dans le moteur de recherche (qui a dit "enfin!" ?) :).

# janvier 7, 2013 16:27

ROMELARD Fabrice a dit :

Merci pour l'info.

Nous utilisions FoxIT sur les plateformes de production, avant qu'Adobe fournisse la version X64.

Le fait est que ce filtre crée d'autres soucis avec les fichiers PDF, comme par exemple l'indexation des fichiers protégés (ca arrange peut être certains, mais conceptuellement, ca reste discutable).

On a aussi eu des soucis avec les fichier PDF ayant des formulaires intégrés.

Bref, on a préféré faire le pas de la version officielle de l'éditeur.

Pour le support natif avec 2013, c'est une bonne nouvelle effectivement :)

Romelard Fabrice [MVP]

# janvier 16, 2013 09:32

ROMELARD Fabrice a dit :

A lire pour les paramètres de la base de registre :

- http://blogs.msdn.com/b/joshuag/archive/2009/10/05/crawling-large-lists-in-sharepoint-2007.aspx

Key Default Value New Value

- HKLM\SOFTWARE\Microsoft\Office Server\12\Search\Global\GatheringManager\DedicatedFilterProcessMemoryQuota

   Old Value: 104,857,600

   New Value: 209,715,200

- HKLM\SOFTWARE\Microsoft\Office Server\12\Search\Global\GatheringManager\FilterProcessMemoryQuota

   Old Value: 104,857,600

   New Value: 209,715,200

- HKLM\SOFTWARE\Microsoft\Office Server\12\Search\Global\GatheringManager\FolderHighPriority

   Old Value: 50

   New Value: 500

Fabrice Romelard [MVP]

# mars 14, 2013 16:42
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