検索セキュリティトリマーをきれいに削除する方法(ISecurityTrimMer2)

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/81034

  •  10-12-2019
  •  | 
  •  

質問

SharePoint 2010でISecurityTrimmer2の非常に簡単な実装を作成しました。それを登録し、すべてが期待どおりに機能しました。

次のPowerShellを使って削除しました:

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

PowerShellは、追加のパラメータ-SearchApplicationを無視していることを警告しますが、コマンドはそれなしでは機能しません。Get-SpenterPriseseCurityTrimmerが結果を返すことを確認しました。

私は今検索結果を取得していません、クエリプロセッサからのULSの次のエラー:

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)
.

iisresetをやり、それでも同じエラーを得ました。明らかにそれはそこではありませんが、なぜクエリプロセッサがまだそれを探しているのですか?

役に立ちましたか?

解決

明らかに新しいフルクロールをすることを修正します。

コメントの説明を見つけましたこの記事については、2013年の投稿Trimmers Sveinar Rasmussen

最初の最初の理由 クロールは、コンテンツオブジェクト(文書)を関連付ける必要があることです。 登録されたトリマーと。それはそれらに整数IDを置きます クロールルールと一致します。コンテンツが「マークアップ」の場合 Trimmer後、Post-Trimmerが呼び出されます。そしてその後の変更 トリマーロジックには、その後クロールは必要ありません。 あなたがトリマーを再登録していないように。

私の経験では、セキュリティトリマーの強力な名前を変更するような何かをしたい場合(例えば、アセンブリバージョンの変更)、それを削除して、フルクロールを必要とせずに同じIDでそれを再加えることができます。 2013年のみ、これには検索ホストコントローラサービスの再起動も必要です。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top