Spotlight tipsThis FAQ, derived from information in the "Spotlight" chapters of our book Troubleshooting Mac OS X, addresses the following topics related to Spotlight® in Mac OS X:
- A brief tutorial on Spotlight.
- Rebuilding Spotlight indices.
- Stopping Spotlight indexing.
- Preventing Spotlight from indexing backup volumes.
- Spotlight was introduced in Mac OS X 10.4 and significantly improved in later versions of Mac OS X.
- Spotlight will begin indexing any volume as soon as it is mounted, with certain exceptions: CDs, DVDs, disk images, and shared network volumes are not indexed when mounted. By volume we mean either a hard drive with a single partition, or a specific partition on a hard drive with multiple partitions.
- By default, Spotlight indexes and searches a limited number of folders, specifically those listed in the AppleCare® Knowledge Base document "Mac OS X 10.4: Where does Spotlight search?"
- Furthermore, Spotlight will neither index nor search:
- Hidden files: Files whose names begin with a period (.).
- Invisible files: Files whose invisible file-system attribute has been enabled.
- Files within hidden or invisible folders.
- Under Mac OS X 10.4, System-related files or folders. These are indexed and can be searched under Mac OS X 10.5 and later.
- Spotlight saves all its index-related files in the .Spotlight-V100 directory at the root level of a volume it has indexed.
- If you open Activity Monitor, the process mds is active when Spotlight is either indexing or searching. The mdimport process is also active during indexing. Under Mac OS X 10.5 or later , the mdworker process is also active during indexing.
- Under Mac OS X 10.4, Spotlight is disabled in Safe Mode. Under Mac OS X 10.5 and later, Spotlight is available in Safe Mode.
- Spotlight employs Search Kit for content indexing and finding files by their content. SearchKit was first introduced in Mac OS X 10.3 for content indexing and Find By Content. However, Spotlight does not remove content indices created under previous versions of Mac OS X, which can consume considerable space on the hard drive.
- Removing these indices is especially tedious since Spotlight will not find hidden files whose names begin with a period (.) and index files created under Mac OS X 10.3 and earlier have file names beginning with .FBC .
- As a result, you must use a utility like DEVONtechnologies EasyFind to locate and remove index files created under Mac OS X 10.3 and earlier.
- See our "Troubleshooting a failed indexing operation" FAQ for information about index files created by ContentIndexing under earlier versions of Mac OS X.
- A number of Terminal commands are available for working with Spotlight:
- You can find a variety of hints for manipulating the Spotlight index files, overcoming some of Spotlight's default limitations, and for using the Spotlight-specific Terminal commands by searching the Mac OS X Hints site for spotlight.
- Additional information about Spotlight can be found by reviewing the documents listed in the Related links section of this FAQ.
|Via Privacy:||Add, then remove, the volume whose Spotlight indices you wish to rebuild to the System Preferences > Spotlight > Privacy tab (hereafter abbreviated as "Privacy"). See the AppleCare Knowledge Base document "Spotlight: How to re-index files and folders."|
|Via Terminal:||Assuming indexing is enabled on the volume in question:|
Under Mac OS X 10.4, using Privacy to stop indexing can cause a variety of anomalous behaviors which are the result of inconsistencies in how the Privacy tab works vs. certain functions of the mdutil command.
These anomalies have been corrected in Mac OS X 10.5 and later . Nevertheless, using Privacy to stop indexing on a volume works best in Mac OS X 10.6 and later: it is sometimes problematic under Mac OS X 10.5, especially when used for external hard drives that are moved between different Macs.
|1.||Let indexing begin on the volume.|
|2.||Open Terminal, located in the Macintosh HD > Applications > Utilities folder.|
|3.|| At the Terminal prompt, type the following command, exactly as written: |
|5.|| If prompted for a Password, type your Admin password, then press Return. |
You will receive the response:
Spotlight will immediately cease to index the specified volume.
|6.|| If you are using Mac OS X 10.5 or later, skip to step 9. |
Otherwise, erase the partial index created by Spotlight under Mac OS X 10.4 . At the Terminal prompt, type the following command, exactly as written:
|8.|| If prompted for a Password, type your Admin password, then press Return. |
You will receive the response:
|9.||At the Terminal prompt, type exit then press Return.|
|10.||Quit (Command-Q) Terminal.|
- Your backup utility performs either:
- An incremental duplicate, copying only new or changed files from the source volume to the destination volume.
- A full duplicate, copying all files from the source volume to the destination volume, replacing the contents of the destination volume.
- Spotlight indexing is enabled on the source volume.
The information Spotlight uses to ascertain if indexing is enabled on a volume is saved in the .Spotlight-V100 directory at the root level of that volume. Therefore, if you backup a volume on which indexing is permitted, after the /.Spotlight-V100 directory is copied from the source volume to the destination volume, indexing will be enabled on the destination volume.
Additionally, Spotlight may begin to index the destination volume while the backup is in progress. This can slow the backup process considerably: in our tests, this has caused backups to require up to 150% of their normal time, i.e. a one-hour backup could require 1.5 hours due to Spotlight indexing the destination volume.
The latest versions of the backup and recovery applications recommended in our "Backup and Recovery" FAQ will respect the state of Spotlight indexing on the destination volume. If you use one of the recommended applications, you can avoid the problem of Spotlight indexing backup volumes while the backup is in progress by simply disabling Spotlight indexing on the destination volume before performing the first backup.