Search Liferay搜索不提供web内容的结果
我们公司正在使用Liferay portal 6.0.5 CE 在liferay中,我们有一个社区,社区成员很少,web内容也很少 默认情况下,所有成员都有角色Search Liferay搜索不提供web内容的结果,search,permissions,liferay,Search,Permissions,Liferay,我们公司正在使用Liferay portal 6.0.5 CE 在liferay中,我们有一个社区,社区成员很少,web内容也很少 默认情况下,所有成员都有角色社区成员,他们可以查看这些web内容。但若用户试图通过liferay搜索搜索web内容,它不会提供任何结果 如果我为web内容设置了权限,以便来宾角色也可以查看,则搜索将提供相关结果 如果有关系的话,在我们使用Liferay 5.x之前,我们已经迁移到6.0&然后迁移到6.0.5 有什么想法吗 谢谢。从5.0迁移时,似乎没有设置文章的来宾
社区成员
,他们可以查看这些web内容。但若用户试图通过liferay搜索搜索web内容,它不会提供任何结果
如果我为web内容设置了权限
,以便来宾角色
也可以查看,则搜索将提供相关结果
如果有关系的话,在我们使用Liferay 5.x之前,我们已经迁移到6.0&然后迁移到6.0.5
有什么想法吗
谢谢。从5.0迁移时,似乎没有设置文章的来宾查看权限(如果之前为来宾用户设置了所有权限)。简单的解决方法是为您希望在相应社区中对来宾可见的所有文章分配来宾查看权限。下面代码中的此行分配查看权限
JournalArticleLocalServiceUtil.addArticleResources(groupId,
article.getArticleId(), new String[] { "VIEW" },
new String[] { "VIEW" });
它被称为资源,您将向文章资源添加权限
ThemeDisplay themeDisplay = (ThemeDisplay) request
.getAttribute(WebKeys.THEME_DISPLAY);
long groupId = themeDisplay.getLayout().getGroupId();
List<JournalArticle> articles = JournalArticleLocalServiceUtil
.getArticles(groupId);
for (JournalArticle article : articles) {
JournalArticleLocalServiceUtil.addArticleResources(groupId,
article.getArticleId(), new String[] { "VIEW" },
new String[] { "VIEW" });
}
主题显示主题显示=(主题显示)请求
.getAttribute(WebKeys.THEME_显示);
long groupId=themeDisplay.getLayout().getGroupId();
列表文章=JournalArticleLocalServiceUtil
.getArticles(groupId);
for(JournalArticle文章:文章){
JournalArticleLocalServiceUtil.addArticleResources(groupId,
article.getArticleId(),新字符串[]{“视图”},
新字符串[]{“视图”});
}
谢谢您的建议,但我通过hook for search portlet解决了这个问题。为了进行搜索,我使用了DynamicQuery和PermissionChecker以及简单方法String.contains()。它的工作速度稍微慢一点,但它可以工作——至少对于1k+的web内容