When using the search portlet, organization-private content is often not found for non-admin users. In my estimation, this is due to a malformed search query which doesn't honor the user's membership in the current organization. This behaviour is illustrated below for the default Lucene case (I will stick to one portlet, Blogs, for clarity):
This document (as obtained by dumping it with Luke) is readily indexed:
stored,indexed,tokenized<content:Lite text om en portlet>
A typical search for "portlet" within "This organization" might look like so:
15:14:21,793 DEBUG [LuceneIndexSearcherImpl:51] Query (+(groupId:11369) +portletId:33) +(assetTagNames:portlet comments:portlet content:portlet description:portlet properties:portlet title:portlet url:portlet userName:portlet)) +(userId:10976 roleId:10140 roleId:10141 roleId:10138)
and obviously, this query will fail to find the above document. I might be completely lost here, in which case I will happily take any pointers. However, I definitely feel that "role clause" of the query is missing the important term "groupRoleId:<groupId>-<roleId of Organization member, 10146 in our case>"
(Note that the document IS found when searching as admin, in which case there is no explicit "Role clause"...)
Until I'm further enlightened, I'm considering this a Major bug.