This class is intended to be used in PowerShell and other admin-created C# applications for two purposes: 1. To rebalance crawl stores. 2. To move data out of crawl stores in preparation for delete. Both of these operations are potentially long-running, on the order of hours, depending on the amount of data that needs to be moved. Because of this, these operations are both asynchronous. The general pattern of use for this class is to call one of the 'Begin...' methods which will start the operation and return the Guid that identifies your job. Then, poll the 'Completed' method until it return 'true'. When you are moving data out of crawl stores in preparation to delete them, you should absolutely verify the state of your crawl stores (via the CrawlLog class) to ensure that the crawl stores are indeed empty before deleting them.
Assembly: Microsoft.Office.Server.Search (in Microsoft.Office.Server.Search.dll)