2012-08-24 38 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

謝謝你的建議。 –