Question

J'ai créé une implémentation très simple d'ISecurityTrimmer2 dans SharePoint 2010.Je l'ai enregistré et tout a fonctionné comme prévu.

Je l'ai supprimé à l'aide du PowerShell suivant :

$searchApp = Get-SPEnterpriseSearchServiceApplication "Search Service Application"
$trimmer = $searchApp | Get-SPEnterpriseSearchSecurityTrimmer
$trimmer | Remove-SPEnterpriseSearchSecurityTrimmer -SearchApplication "Search Service Application"

Powershell m'avertit qu'il ignore le paramètre supplémentaire -SearchApplication, mais la commande ne fonctionne pas sans lui.J'ai vérifié que Get-SPEnterpriseSecurityTrimmer ne renvoie aucun résultat.

Je n'obtiens maintenant aucun résultat de recherche, avec l'erreur suivante dans l'ULS du processeur de requête :

Error occurred when executing pluggable security trimmer with Id 1 System.InvalidOperationException: Could not find Pluggable Security Trimmer with Id '1'.    
 at Microsoft.Office.Server.Search.Administration.Security.PluggableSecurityTrimmerManager.Instantiate(Int32 idRequested)    
 at Microsoft.Office.Server.Search.Administration.Security.PluggableSecurityTrimmerManager.GetPluggableSecurityTrimmer(Int32 id)    
 at Microsoft.Office.Server.Search.Query.PluggableSecurityTrimmer.Trim(UInt32[] docIds, Boolean[] displayDoc, UInt32 oldScannedCount, UInt32 logicalStartPosition, UInt32 desiredResultCount)

j'ai fait iisreset et j'obtiens toujours la même erreur.Évidemment, il n'est pas là, mais pourquoi le processeur de requêtes le recherche-t-il toujours et comment puis-je le supprimer complètement ?

Était-ce utile?

La solution

Apparemment, une nouvelle analyse complète la corrige.

J'ai trouvé une explication dans les commentaires sur cet article sur 2013 post-trimmers par Sveinar Rasmussen

la raison de la première initiale crawl est que les objets de contenu (documents) doivent être associés avec le trimmer enregistré. Il mettra un identifiant entier sur ceux qui correspondre à la règle de crache. Une fois que le contenu est "marqué" avec un post-tondeuse, le post-trimmer est invoqué. Et tout changement ultérieur à la logique de trimmer ne nécessitera aucune rampe après cela, aussi longtemps Comme vous ne rebrantisez pas les trimmers.

Dans mon expérience, si vous voulez faire quelque chose qui invoquent la modification du nom fort du trimmer de sécurité (par exemple modification de la version de montage), vous pouvez le supprimer et l'ajouter à nouveau avec le même identifiant sans nécessiter de crawler complet. En 2013, cela nécessite également un redémarrage du service de contrôleur hôte de recherche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top