Rebuild search index of a mailbox in Exchange Online

Steel Contributor

This was something new for me and couldn't find such a post here, so hereby I'm sharing the experience.


One of our users showed me that there are some emails in her mailbox which can't be found by using search, nor in the Outlook 2013 rich client (in Online mode), neither in OWA. Tried to search for various texts and properties from those emails, but they was just 'invisible' for search.

I've opened a case with the Office 365 support through the admin portal, and what they recommended was simply to run the following PS command:




It seems this, submitting a move request for that mailbox is the recommended way to force reindexing an ExO hosted mailbox. Once the move operation has completed (it takes a few hours depending on the mailbox size, progress can be checked with Get-MoveRequestStatistics) the mailbox got re-indexed, which fixed the search.

12 Replies

Thanks for sharing, didn't know that :)

Thanks for posted this information. We were experiencing the same problem that you describe. 


Messages were visible in the mailbox, however, when we would use search, in either the Outlook desktop client or the web Outlook / OWA client, the messages would not be found.


In our case there appeared to a small 3-month window in which messages were missing from the search results. SO we would see some older messages, as well as very recent messages. However, any that were within the three-month window would not be returned when searching.


This might have something to do with our migration process to Office 365. We used BitTitan to perform a pre-stage migration that moved all mail older than 90 days. Then after we switched to Office 365 live, we performed a full migration that picked up all mail within the most recent 90-day time frame. It seemed that these messages were the messages that did not get indexed by the search engine.


After using the New-MoveRequest -Identity command the search results are returning all messages.


One additional bit of information on the commands to use:


To start the move issue the following command:

New-MoveRequest -Identity


To check on the status of a move you can use either of these two commands:


Get-MoveRequestStatistics -Identity
Get-MoveRequest -Identity


Once the Get-MoveRequest status is "Completed", then you should run:

Remove-MoveRequest -Identity


The move process might take a few hours to even a day or two to complete. Mailboxes remain accessible and usable during this operation, so users should not experience any issues if the move is processing during working hours.




It appears that this is what needs to be done to our EOL server, but as I am not familiar with the New-MoveRequest command, I want to make sure I'm not about to do something wrong.  We've been fully migrated from a local Exchange Server to EOL for quite some time now.  I don't want to move our mailboxes anywhere or cause any issues.  I just need to repair what appears to be an indexing issue affecting a user's mailbox search functionality (specifically my own mailbox).


Thanks in advance for you assistance and or reassurance that the highlighted steps are correct in this scenario.



It's not that scary, try it :) Simply run the cmdlet without any other parameters:


New-MoveRequest -Identity

Thanks for the affirmation.  I ran the process without incident, but it unfortunately did not resolve the search issue I am having.  I tried compacting the ost from without Outlook to see if that might resolve the issue, but it didn't seem to make any progress after 12 hours of running.  Not sure if this duration is typical or not.

You can always open a support case.

Hi Paul,


Have you tried to reconfigure a new Outlook Profile ? Has the problem is only in one PC ?

Do you have the problem in Search on OWA ?


Maybe just the search on local PC.

Thanks forthe suggestion to try OWA.  The issue is present in OWA which seems to exclude the Outlook desktop application and ost as the culprit. 

Interestingly, I let the oct compact process run to completion over the weekend and rebuilt the index.  Now, the Outlook client seems to be properly returning search results.  However, in OWA, it is still an issue. 



Mostly worked, but still some newer items have a "A timeout has occurred." error when I run the cmdlet  Get-FailedContentIndexDocuments -Identity to check the items.


Will the crawler try to index these items again or is there a way to trigger the crawler to work on these items again?


I would think MS should working on fixing these issues as I'm sure other users in my tenant are having issues.



Hi Vasil,


The potential fix you describe here, is there a way which this be applied to a Public Folder which is on exchange online, it isn't mail enabled either, just simply a calendar.


I have a similar issue whereby a user who is trying to perform a search within Outlook to a Public Folder which is set to 'online mode' it doesn't appear to return all of the results. 

Will the reindex apply to archive online mailbox too or should a different command be executed?