Hi there - the best, most precise, thing to do is use the mdutil command. This requires you to run commands in Terminal, and to run them as root.
** Standard disclaimer **
Be very careful running commands as root on your Mac (which is essentially a Unix machine) the root user has full access and can do anything on your machine. You can, if you are not careful, and/or don't know what you are doing, damage your machine.
Let me say that again - if you do this below you will run commands on the root (/) folder of your computer. If you do things incorrectly you potentially could wipe/damage the whole Macintosh HDD. That would be worse than a 'bad hair' day. It is completely up to you - no liability accepted (this is all meant to make you be very careful 😉).
Start a terminal session on your Mac, below you will see various commands, the commands and display in Terminal program are shown as fixed length font, the instructions as this type of font in italics preceeded by a number.
Note:
- you type the text after the prompt which will be usually the '$'. So if the line below says "iMac:/ $ cd /" you type only "cd /"
- command line switches like -E ; -i ; -s are CaSe sensitive.
Reference sites:
http://www.thexlab.com/faqs/stopspotlightindex.html
http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/ man1/mdutil.1.html
===============================
1) Go to root of drive
iMac:/ $ cd /
2) Show which folder you are in
iMac:/ $ pwd
/
3) Change to the 'Volumes' folder
iMac:/ $ cd Volumes/
4) Check it
iMac:Volumes $ pwd
/Volumes
5) List contents of folder - see that Macintosh HD is an alias pointing to '/' the root folder of Mac
iMac:Volumes $ ls -la
total 8
drwxrwxrwt@ 3 root admin 102 Aug 4 07:27 .
drwxr-xr-x 31 root wheel 1122 Jul 31 23:54 ..
lrwxr-xr-x 1 root admin 1 Aug 4 07:27 Macintosh HD -> /
6) List options for mdutil command. First, being safe, first we will see what is set for drive.
iMac:Volumes $ mdutil
Usage: mdutil -pEsa -i (on|off) -d volume ...
Utility to manage Spotlight indexes.
-p Publish metadata.
-i (on|off) Turn indexing on or off.
-d Disable Spotlight activity for volume (re-enable using -i on).
-E Erase and rebuild index.
-s Print indexing status.
-a Apply command to all volumes.
-V vol Apply command to all stores on the specified volume.
-v Display verbose information.
NOTE: Run as owner for network homes, otherwise run as root.
7) Run command as root using the sudo option (special command which runs another command as root)
iMac:Volumes $ sudo mdutil -s /
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password: [at this point enter your account password]
/:
Indexing enabled.
iMac:Volumes $
8) Note re: the above - this will NOT show if specific (sub)folder on drive has had indexing turned off via System Preferences.
Then IF indexing is turned off (for whole HDD volume) turn it on
iMac:Volumes $ sudo mdutil -i on /
9) Run command to (totally) erase and rebuild index - obviously only do this if indexing is turned on - to see if this fixes your issue.
iMac:Volumes $ sudo mdutil -E /
===============================
Good luck! If the above does not get your machine's Spotlight indexing working properly you may need to take your machine to Apple and/or Apple authorised repair company.