Accéder au contenu principal

SharePoint : Détails de la configuration du moteur de recherche pour les documents PDF

 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]

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