I have found an gotchya with Content Approval and Office 365 Search, specifically around draft item security. Embarrassingly, it did take me a while to work out that this was what was going on.
You can use content approval to allow only certain users – such as editors and approvers – the right to see draft items. However, if you do this, then the Search Crawl Account – which normally only has ‘read’ access – cannot see the draft documents to index them. Thus, draft documents that are visible to editors or approvers only never appear in the search results.
This is actually probably a good thing as it prevents information about draft documents being ‘leaked’ through the search results.
So far, so like normal SharePoint. However, in normal SharePoint, if you wanted, you could grant additional rights to the crawl account, allowing it to index the documents. In Office 365 there doesn’t seem to be a way of doing this; certainly, I can’t find the name of the Crawl Account to grant it additional rights. Thus, draft documents only visible to editors or approvers won’t appear in search. This is particularly a problem for newly uploaded documents, which won’t appear at all until version one is published.