Spotlight search is possibly one of the best features on macOS. Operating systems all have a search feature but Spotlight is system search done perfectly. That said, it can break. It doesn’t happen often but sometimes, indexing problems may cause Spotlight search to stop working. This isn’t something a simple restart will fix. Instead, you need to reindex files to fix Spotlight search not working.
Fix Spotlight search not working
Open Terminal and run the following command.
sudo mdutil -a -i off
You will need to enter the admin password. Once you do, it will turn indexing off.
Next, run the following two commands;
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
If the above command doesn’t run and instead you get a message that it can’t complete because system integrity protection is engaged, you’re going to have to boot your Mac into Safe mode and turn system integrity protection off.
Once that’s done, run the command again and after it runs successfully, run the one below;
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
You can now enable Spotlight indexing again with the command below;
sudo mdutil -a -i on
Once indexing is enabled, Spotlight will start indexing everything on your Mac again. It may take some time for it to index everything which is why it won’t fix right away. Use your system normally and Spotlight will start working the way it should in a while.
This fix should stick. Spotlight is an old, refined feature and if it breaks there’s likely a specific reason behind it. The feature isn’t going to break at random like Windows search does on Windows 10. If Spotlight search does keep breaking and you need to reindex files every single time to fix it, the problem is likely something else.
After you’ve fixed Spotlight search not working, make sure you turn system integrity protection back on. This is a security feature that was introduced with El Capitan and it basically limits unrestricted root access to important files and folders thus preventing users, and malicious apps and/or processes, from making changes to critical files on the OS.
Enabling and disabling system integrity protection is a bit of a long process so if you aren’t up to it, and want a quicker fix, you can try simply running the first, and fourth commands in the previous section which disable and enable indexing. It may work, it may not work. If it fixes the problem then it’s all good. If not, you’re going to have to go with the full fix.