With SharePoint on premise there's plenty of search options to increase the frequency of the search crawl, to the search results show up quicker.
- Increase the incremental search periods
- Add on an app server to take on the additional search horse power
- Target sites or site collections that require quicker search crawls
The list can go on….
But with Office 365, this ability isn't there..
Chris O'Brien has a good explanation on this: waiting-for-search-crawl-in-office-365 with some work arounds, but queries can break.
One approach I discovered was to set the server resource quota to 10,000. By default, it's 300. This setting can be found in the SharePoint Admin Center.



When I did this I was getting search results in 5-10 mins after a document was uploaded.