2012-08-24 39 views
0

我们公司正在使用Liferay portal 6.0.5 CE。Liferay搜索不提供网页内容结果

在liferay内,我们有一个社区,社区里的成员很少,网站内容也很少。

默认情况下,所有成员都有角色Community member,他们可以查看这些网页内容。但是,如果用户试图通过liferay搜索搜索网页内容,它不会提供任何结果。

如果我为网页内容设置了permissions,例如Guest role也可以查看,那么搜索会提供相关结果。

重要的是,在我们有Liferay 5.x之前,已经迁移到6.0 &,然后到6.0.5。

对此有何想法?

谢谢。

回答

0

感谢您的建议,但我通过钩子搜索portlet解决了这个问题。为了搜索我使用DynamicQuery和PermissionChecker以及简单的方法String.contains()。它的工作速度稍慢,但它起作用 - 至少对于1k +的网页内容来说!

0

从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" }); 
    } 
+0

谢谢你的建议。 –