So...for weeks I've noticed the CPU on my Windows 8.1 laptop was high, or higher than expected (I guess), due to the Search Indexer. The computer didn't run that bad, so I just kinda ignored it. Then I noticed that searching in Outlook was not finding emails received moments ago. So maybe it just takes time to index? Fuck that...this shit should be instant...It's Windows 8.1 dammit.
To troubleshoot, I checked the Indexing Options and Event Logs. Not much going on in the logs, but I noticed that the number of items indexed was not getting larger...and the indexing was not stopping. I did what most would do and rebuilt the index. After a while, the status returned to the same exact number of items indexed, did not increase, and kept on trying. Ugh... I started disabling file types to search, disabled some system folders, disabled Outlook. The issue remained, though the number of indexed items changed.
To dig deeper, I resorted to Process Explorer (or Process Hacker) to see if I could find something. While Microsoft has a KB on troubleshooting Indexing, I had a gut feeling this wasn't just an Outlook Search issue, but a Windows 8 Search issue. Using Process Explorer, I was able to view the Properties of the SearchIndexer.exe Process. The "Threads" listed referenced a DLL file, "korwbrkr.dll". A quick check on the Internet confirmed the DLL was related to a Korean language spell check. Since I do not speak Korean nor do I have any Korean files, I decided to rename the file and see what happens.
It took a bit to rename the file as the permissions were strict. Taking ownership and managing the parent folder permissions was necessary. Once renamed to "korwbrkr.BAK", I rebuilt the index again. Well damn...now Indexing is working and Outlook can find my spam. To my disappointment, the CPU is still high, hovering around 10-12%. Perhaps I'm paying too close attantion.
SO it looks like there is an extra step required. While the indexing seemed to start working again, it eventually stopped...again. Inspecting the Process revealed that the same "korwbrkr.dll" was again locking up the indexing. It appears that the DLL file was re-created a few days later. (Perhaps after a reboot or an update?) Looking into the issue further, I searched for a way to uninstall the Korean Word Breaker files. Well here it is: http://msdn.microsoft.com/en-us/library/windows/desktop/bb266514(v=vs.85).aspx
All that is needed is to delete the Registry key corresponding to the language you wish to uninstall. Once the key is deleted, restart the Windows Search Service. NOW Indexing works. This is one of the stupidest issues ever.