最初に lucene から検索し、ユーザーがそれに対する表示権限を持っているかどうかを確認すると思います。ソース コードにアクセスできるかどうかを確認するには、BaseIndexer.search を参照してください。以下に小さなスニペットを添付して、それがどのように機能するかを示しますか?
PermissionChecker permissionChecker =
PermissionThreadLocal.getPermissionChecker();
int start = searchContext.getStart();
int end = searchContext.getEnd();
if (isFilterSearch() && (permissionChecker != null)) {
searchContext.setStart(0);
searchContext.setEnd(end + INDEX_FILTER_SEARCH_LIMIT);
}
Hits hits = SearchEngineUtil.search(searchContext, fullQuery);
searchContext.setStart(start);
searchContext.setEnd(end);
if (isFilterSearch() && (permissionChecker != null)) {
hits = filterSearch(hits, permissionChecker, searchContext);
}