Force Windows indexing to run faster


Office for Mere Mortals
Your beginners guide to the secrets of Microsoft Office
Invalid email address
Tips and help for Word, Excel, PowerPoint and Outlook from Microsoft Office experts.  Give it a try. You can unsubscribe at any time.  Office for Mere Mortals has been running for over 20 years, we've never, ever revealed or sold subscriber details.  Privacy policy

You can make Windows Search index your documents and Outlook data faster – here’s how.

Windows Search makes an index of all your files, documents and Outlook data.  It’s essential for quick searches, even within Outlook.   Until the index is complete you may get the dreaded “Search results may be incomplete because items are still being indexed” error.

The problem is that indexing can take a long time and sometimes never completes.  Indexing happens as a background task when nothing else is happening.  Alas, the default setting is so discreet that indexing can take days and sometimes never completes.

Windows will fully reindex your computer for various reasons including some changes in index/search settings and if the index files become corrupt.  See Fixing Outlook index problems.

In this article we’ll explain how to speed up the indexing.  There’s step-by-step instructions plus some batch files if you’d like to automate the process.  It show the steps in Windows 10 but the same, or very similar applies to Windows 8 and 7.  In fact, this article is an update of a 2008 article on the same subject with the same registry entry.

Below are the step-by-step instructions then some batch files to let you automate the process.

Index Now

Back in the early days of Windows Indexing there was an ‘Index now’ option to force indexing to take more computer resources and finish indexing faster.   Microsoft took that away in Windows Vista and has been willfully deaf to requests for its return.

There’s no button on the Control Panel | Indexing Options that can do it — there’s ‘Pause’ to make it stop but nothing to make it go faster.

Faster Windows Indexing

Microsoft has provided a way to make indexing go faster – but it’s not easy.

In short you have to change a registry key called:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Windows Search\Gathering Manager\DisableBackoff

to a value of 1

but before you rush off to do that there are some important steps before and after.

If you don’t know how to edit the Windows registry, this probably isn’t a tip for you. As with any registry changes, take care and make a registry backup before you begin.

  • Open Regedit (Start menu | Run | Regedit) as an Administrator:

img 5735e7fbbbc2f - Force Windows indexing to run faster

Go to

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\Gathering Manager\DisableBackoff

img 5735e8a15965b - Force Windows indexing to run faster

and try modifying the registry value from 0 (the default) to 1 .
If you can, great, but chances are you’ll get this error:
Cannot Edit DisableBackoff: Error writing the value’s new contents.
if so, you’ll need step 2.

  • Right-click on the ‘Gathering Manager’ item in the registry tree and choose ‘Permissions’ then the ‘Advanced’ button.
    Next to the listed Owner click the Change link.

    img 5735e8b54e89f - Force Windows indexing to run faster

Type in the ‘Administrators’ group, click Check Names button to verify.  Click OK twice to return to the Permissions dialog.

Make sure the Administrators group has Full Control then click OK.

img 5735e8c3766a6 - Force Windows indexing to run faster

Now you should be able to edit the DisableBackOff key in step 1. If not, check the permissions and owner carefully.

  • Once you’ve changed DisableBackOff to 1:

img 5735e8d56bb50 - Force Windows indexing to run faster

Go to Control Panel | Administrative Tools | Services, scroll down the list to Windows Search and restart the service.

img 5735e8e0b2990 - Force Windows indexing to run faster

The registry changes don’t take effect until the search services has restarted.

  • Go to Control Panel | Indexing Options to monitor the indexing.

    img 5735e8eee40c5 - Force Windows indexing to run faster

  • The DisableBackOff = 1 option makes the indexing go faster than the default value.   You can continue to work on the computer but indexing will continue in the background and is less likely to pause when other programs are running.

In response to readers questions … yes, this tip definitely works on at least Windows 10, 8 and 7.  If you can’t change the registry entry it will be a permissions issue.  Make sure you’re running Regedit as an Administrator and you’ve changed the ‘Gathering Manager’ Owner to the Administrators group.

The changed option doesn’t make indexing happen at a very high priority, just higher than usual. Even when the indexing status is showing ‘Indexing speed is reduced due to user activity’, indexing is still happening.

On our test machine indexing of 814,000 items took about 23 hours with the changed registry setting instead of running for many days and only indexing a third of the complete computer. It’s hardly speedy but better than nothing I suppose.

Of course, the higher priority indexing will make other work on your computer a bit slower, which brings us to the important final step.

  • Once the index has caught up with the entire contents of your computer, Outlook etc you probably don’t want the indexing service hogging precious CPU resources.

Go back to the registry, change the DisableBackOff key back to 0 and restart the Windows Search service.  You don’t have to reverse the registry entry permissions unless you feel the need.

There are other tempting entries in the Windows Search part of the registry, well, tempting to nerds anyway. Resist that impulse with every fibre of your geeky frame. You don’t want to go messing with indexing unknowns.

Automation

Hopefully you won’t need faster indexing very often so the manual steps above are enough.  But if you’re having ongoing indexing issues, you might need to make the switch more often.

To help you do that, here are some batch files that will help you turn on/off faster indexing.

AT YOUR OWN RISK
This is for readers a little familiar with Windows and batch files. In these adversarial times we’re forced to remind everyone that these examples are provided for you to try at your own risk.

Requirements:

  • The Registry permissions have been changed (as shown above) to give Administrators access to the ‘Gathering Manager’ keys.
  • Command Prompt is running as Administrator.

    img 5735e9517e4a3 - Force Windows indexing to run faster

Registry files

There are two .reg files to turn on/off the DisableBackoff setting

Indexing-Fast.reg

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\Gathering Manager]
"DisableBackOff"=dword:00000001

Indexing-Normal.reg

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\Gathering Manager]
"DisableBackOff"=dword:00000000

Note: the names of the .reg files are optional.  We chose Fast/Normal to make it clear what the setting will do.

Clicking on those .reg files will change the registry after a few on-screen warnings.  But you’ll still have to restart the Windows Search service, which bring us to the next step.

Batch Files

Adding some batch files will change the registry (with no prompts) and also restart the Windows Search service.

Indexing-Fast.BAT

Regedit /S  Indexing-Fast.reg
Net Stop Wsearch
Net Stop Wsearch
Net Start Wsearch
Control /name Microsoft.IndexingOptions

  • The /S option stops the prompts before a registry change. The change made is contained in the same .reg file as listed above.
  • There is no command line equivalent for Restarting a service. You have to Stop then Start it.
  • In our tests, the Net Stop command didn’t reliably stop the Search service on the first attempt: “The Windows Search service could not be stopped” The second/duplicate Stop ensures that the service has stopped.  There’s no harm if the service was stopped by the first command.

    img 5735e9abdced6 - Force Windows indexing to run faster

  • If you get a ‘System Error 5’ / ‘Access is denied’ on the NET commands, make sure you’re in a Command Prompt box run with Administrator permissions.
  • CONTROL ... opens the Control Panel | Indexing Options dialog so you can see the indexing progress.

    img 5735e9b6a30b3 - Force Windows indexing to run faster

Indexing-Normal.BAT

This batch file is almost the same except it uses a different .reg file.

Regedit /S  Indexing-Normal.reg
Net Stop Wsearch
Net Stop Wsearch
Net Start Wsearch

Indexing-Switch.BAT

This version combines the two batches plus a pause in-between to wait while indexing happens.

@ECHO OFF
Regedit /S  Indexing-Fast.reg
Net Stop Wsearch
Net Stop Wsearch
Net Start Wsearch

Echo Open Control Panel | Indexing Options
Control /name Microsoft.IndexingOptions

Echo Press any key when Indexing is complete
Pause

Regedit /S  Indexing-Normal.reg
Net Stop Wsearch
Net Stop Wsearch
Net Start Wsearch

Here’s how a normal run of the batch file looks like.  The second NET STOP commands weren’t needed in this case.

img 5735e9c9b2992 - Force Windows indexing to run faster

Download

Download a small package with all the above files ready for you to try.  The three Batch files plus the two .reg files.

subs profile e1563205311409 - Force Windows indexing to run faster
Latest news & secrets of Microsoft Office

Microsoft Office experts give you tips and help for Word, Excel, PowerPoint and Outlook.

Give it a try. You can unsubscribe at any time.  Office Watch has been running for over 20 years, we've never, ever revealed or sold subscriber details.  Privacy policy
Invalid email address