SearchIndexer.exe grinding away at 30–60% CPU, day after day, is Windows Search stuck in a loop it can’t escape. The indexer is supposed to be a quiet background librarian, cataloging your files once and then just noting changes. When it’s constantly at high CPU, the library is on fire: the catalog is corrupt, the scope is absurdly large, or something keeps invalidating its work faster than it can finish.
The critical first question: is it doing its initial build, or is it stuck? An initial build after a Windows reinstall, major update, or adding a huge file collection legitimately takes hours — interrupting it just restarts the clock. A stuck indexer never finishes and needs the fixes below. This guide covers both, in the right order.
For the search UI process specifically, see SearchApp.exe high CPU on Lenovo . The post-update variant is covered in search indexer high CPU after Windows update .
Why this happens
- Initial index build in progress: Legitimate heavy work after reinstalls, updates, or large file additions.
- Corrupt index database: Damaged catalog that never completes, restarting endlessly.
- Overly broad indexing scope: Enhanced mode indexing entire drives including locations you never search.
- High-churn indexed folders: Developer dirs, sync folders, and download folders invalidating the index constantly.
- Disk errors corrupting index files: Failing storage damaging the database repeatedly.
- Stuck on a specific file: A corrupt or locked file the indexer can’t process, retrying forever.
- Outlook PST/OST indexing: Large mail databases being indexed (and re-indexed) continuously.
How to fix it
Work through these in order — diagnose first, then act.
Fix 1: Check indexing status — building or stuck?
The distinction that determines everything.
- Open Control Panel > Indexing Options (search “indexing” in Start) — the top of the window shows status: “Indexing complete,” “Indexing in progress,” or a file count.
- If it shows progress with the count climbing: it’s building. Note the count, wait an hour, check again — climbing counts mean working; frozen counts mean stuck.
- If it says “Indexing complete” but SearchIndexer.exe is still at high CPU, something is re-triggering work constantly — skip to Fix 4 (scope trimming).
- Check how many items are indexed — hundreds of thousands on Enhanced mode is normal-ish; millions suggests absurd scope.
- Rule: building + progressing = leave it alone (plugged in, idle time helps). Anything else = continue with the fixes.
Fix 2: Give the initial build a clean window
If it’s genuinely building, help it finish.
- Plug in the laptop — indexing is throttled on battery, stretching a 2-hour build into an 8-hour one.
- Leave the system as idle as possible for a few hours — every new file you create during the build adds to its workload.
- Don’t reboot repeatedly — each restart interrupts the build and it resumes (not restarts, but still loses momentum).
- Temporarily pause cloud sync (OneDrive/Dropbox) during the build — sync churn fights the indexer for the same files.
- Once Indexing Options shows “Indexing complete,” CPU should drop to near-zero — if it doesn’t within a day, the index is corrupt (Fix 3).
Fix 3: Rebuild the corrupt index
The definitive fix for the never-completing indexer.
- In Indexing Options, click Advanced > Rebuild > OK — this deletes the entire catalog and starts fresh.
- Let the rebuild run to completion without interruption (see Fix 2’s conditions) — a rebuild interrupted halfway just creates a fresh corrupt state.
- After “Indexing complete,” monitor SearchIndexer.exe for 48 hours — a healthy fresh index idles at 0% CPU with only brief blips when files change.
- If the fresh index also never completes, the problem isn’t the database — it’s the scope or the disk (Fix 4 and Fix 6).
- Don’t rebuild repeatedly as a habit — one clean rebuild is diagnostic; if it doesn’t hold, the cause is elsewhere.
Fix 4: Shrink the indexing scope permanently
The highest-leverage long-term fix.
- In Indexing Options > Modify, uncheck everything you never search: secondary drives, game libraries, VM folders, media archives, and developer directories (especially ones with
node_modulesor build outputs — tens of thousands of tiny files each). - Go to Settings > Privacy & security > Searching Windows — switch from Enhanced (whole PC) to Classic (libraries + desktop only). For most users, Classic finds everything they actually search for.
- Under Exclude folders from enhanced search, add high-churn paths even if you stay on Enhanced.
- If you use Outlook with a huge mailbox, consider excluding the Outlook data files — mail search still works via Outlook’s own search, and the indexer stops churning on gigabytes of mail.
- After trimming, rebuild once (Fix 3) so the lean scope takes effect — then enjoy an indexer with a fraction of its former workload.
Fix 5: Run the Search troubleshooter
The automated check for configuration problems.
- Go to Settings > System > Troubleshoot > Other troubleshooters > Search and Indexing > Run.
- Check the boxes matching your symptoms (“Search is slow,” “Results are incomplete”) and let it diagnose — it checks service state, permissions, and index integrity.
- Apply its recommended fixes and restart the Windows Search service if prompted (services.msc > Windows Search > Restart).
- If the troubleshooter reports it fixed permissions issues, monitor for a day — permission problems on indexed folders cause exactly the retry-loop CPU pattern.
- Check Microsoft’s official Windows support page for indexer guidance specific to your build if the troubleshooter can’t resolve it.
Fix 6: Check the disk and the stuck file
When the index keeps corrupting.
- Run
chkdsk C: /scanin an elevated terminal — file system errors corrupt the index database; fix them withchkdsk C: /f(requires restart). - Check drive health with
wmic diskdrive get statusand CrystalDiskInfo — a failing drive corrupts the index faster than you can rebuild it. Replace failing drives; no indexer fix survives bad hardware. - To find a stuck file: open Event Viewer > Applications and Services Logs > Microsoft > Windows > Search > Operational — look for repeated errors naming a specific file path. Exclude or delete that file.
- Temporarily exclude recently added large folders — if the indexer calms down, something in that folder was the trigger; add files back in batches to isolate it.
- Ensure 15%+ free space on the indexed drive — critically full drives cause index write failures that look like corruption.
Fix 7: Disable indexing (last resort, reversible)
When you’ve decided fast search isn’t worth the CPU.
- Press Win + R >
services.msc> find Windows Search > double-click > Stop, then set Startup type to Disabled > OK. - Understand the trade-off: Start menu and File Explorer searches become slow live disk scans. If you search rarely, you won’t care; if you search constantly, you’ll hate it.
- Alternative middle ground: keep the service but set indexing to Classic with a minimal location set (Fix 4) — near-zero CPU with functional basic search.
- To re-enable: set Startup type back to Automatic (Delayed Start) and start the service — then rebuild the index once.
- Note: some Windows features (like certain Start menu experiences) expect the indexer; on Windows 11 disabling it is safe but search-dependent features degrade gracefully rather than breaking.
Closing
The Search indexer is a librarian — when it’s calm, your searches are instant; when it’s panicking, your CPU pays. Determine whether it’s building or stuck, rebuild corruption cleanly, trim its territory to what you actually search, and check the disk underneath it. A healthy indexer is one you never notice, which is exactly the goal.
