1
我可以禁用对搜索结果的权限检查吗?当我看到BaseIndexer.java时,它正在做以下事情。Liferay搜索 - PermissionChecker
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);
}
isFilterSearch()方法:
protected boolean isFilterSearch() {
return _FILTER_SEARCH;
}
和_FILTER_SEARCH变量:
private static final boolean _FILTER_SEARCH = false;
修改这个类不检查的权限是唯一的选择?任何更好的想法来做到这一点。我想这样做的原因是,更多搜索结果需要时间来检查所有搜索结果的权限。这是我们要求的瓶颈。