Start with this of M1 or M2 Mac...
On your Mac, choose Apple menu > Shut Down.
Wait for your Mac to shut down completely. A Mac is completely shut down when the screen is black and any lights (including in the Touch Bar) are off.
Press and hold the power button on your Mac until “Loading startup options” appears.
Select a volume.
Press and hold the Shift key, then click Continue in Safe Mode.
The computer restarts automatically. When the login window appears, you should see “Safe Boot” in the menu bar.
Restart normally.
Start with this if IntelMac...
Safe Boot, (holding Shift key down at startup), does the problem occur in Safe Mode? Could take 10 minutes or more.
Safe mode attempts to repair Disks & clears lots of caches & loads safe Drivers, & prevents loading of 3rd party extensions, so if Safe Mode works try again in regular boot.
Manually Rebuilding Spotlight via Terminal
If the aforementioned Spotlight control panel approach doesn’t spur a reindexation of the drive, you may need to initiate it manually through the command line. Open Terminal and use the following command string to do so:
sudo mdutil -E /
This basically asks for temporary super user status, which is why Terminal may ask you for your password (it may not if you’ve used a sudo command recently or are already logged in as a super user or root. The command asks the unix tool mdutil to reindex the spotlight database for everything on the computer, including external drives, mounted disk images, etc. To re-index only for a specific drive, use the /Volumes path. For example, for an external drive named “MiniMe,” the command would look like this:
sudo mdutil -i on /
Rebuilding a drive index can take a long time, so be prepared to wait whether you do it through the System Preference panel or the command line.
If still need be…
Open Terminal and run each of these one at a time
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user
sudo /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -seed -lint -r -f -v -dump -domain local -domain system -domain user -domain network
killall Dock
sudo mdutil -E /
sudo mdutil -i on /
Rebuilding a drive index can take a long time, so be prepared to wait whether you do it through the System Preference panel or the command line.