To find if it is having problems, open Console and look at All Messages. Type "mdworker" or "mds" into the search field and look to see if there are any failures noted. They will usually have a file name associated with them. If there are messages, see if you can open and save the files that it is stumbling on.
OK here is what I see:
(Search for mdworker)
8/12/14 6:35:17.727 PM mdworker[351]: Error loading /Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotlightImpo rter.mdimporter/Contents/MacOS/GarageBandSpotlightImporter: dlopen(/Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotli ghtImporter.mdimporter/Contents/MacOS/GarageBandSpotlightImporter, 262): Library not loaded: @rpath/MAFiles.framework/Versions/A/MAFiles
Referenced from: /Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotlightImpo rter.mdimporter/Contents/MacOS/GarageBandSpotlightImporter
Reason: image not found
8/12/14 6:35:17.728 PM mdworker[351]: Cannot find function pointer MetadataImporterPluginFactory for factory 5CE2D94A-5110-4E3C-A213-5221A7C67B29 in CFBundle/CFPlugIn 0x7fdb6b508780 </Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotlightImp orter.mdimporter> (bundle, not loaded)
8/12/14 6:35:17.729 PM mdworker[351]: (Error) Import: Could not create instance for plugIn 'file:///Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotl ightImporter.mdimporter/'
8/12/14 6:35:17.729 PM mdworker[351]: (Error) Import: BAD IMPORTER ~~~~~~~~~~~~~~~~~~ file:///Applications/GarageBand.app/Contents/Library/Spotlight/GarageBandSpotli ghtImporter.mdimporter/
(Search for mds)
8/10/14 1:30:13.809 PM com.apple.DataDetectorsDynamicData[299]: Could not launch query, mds might have an issue
8/10/14 2:55:12.577 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/10/14 2:55:31.586 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/10/14 2:55:52.121 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/10/14 2:56:05.138 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/10/14 11:34:45.832 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/10/14 11:35:05.084 PM Finder[209]: Metadata.framework [Error]: mdsCopyStoreInformation failed: (268435459) (ipc/send) invalid destination port
8/11/14 6:18:20.726 AM com.apple.audio.DriverHelper[244]: The plug-in named AirPlay.driver requires extending the sandbox for the IOKit user-client class AMDSIVideoContext.
8/11/14 6:18:22.817 AM com.apple.DataDetectorsDynamicData[299]: Could not launch query, mds might have an issue
8/11/14 8:44:08.860 PM com.apple.audio.DriverHelper[211]: The plug-in named AirPlay.driver requires extending the sandbox for the IOKit user-client class AMDSIVideoContext.
8/11/14 8:44:12.333 PM com.apple.DataDetectorsDynamicData[297]: Could not launch query, mds might have an issue
8/11/14 9:00:20.417 PM Mail[345]: Could not launch query, mds might have an issue
8/12/14 5:45:26.053 PM com.apple.audio.DriverHelper[230]: The plug-in named AirPlay.driver requires extending the sandbox for the IOKit user-client class AMDSIVideoContext.
8/12/14 5:45:28.502 PM com.apple.DataDetectorsDynamicData[280]: Could not launch query, mds might have an issue
8/12/14 5:56:43.460 PM Mail[309]: Could not launch query, mds might have an issue
8/12/14 6:29:45.218 PM sudo[469]: vance : TTY=ttys000 ; PWD=/Users/vance ; USER=root ; COMMAND=/bin/launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
8/12/14 6:29:45.502 PM mds[471]: (Normal) FMW: FMW 0 0
8/12/14 6:30:31.716 PM mds[79]: (Normal) FMW: FMW 0 0
8/12/14 6:30:31.858 PM mds[79]: (Warning) Server: No stores registered for metascope "kMDQueryScopeComputer"
8/12/14 6:30:32.083 PM mds[79]: (Warning) Server: No stores registered for metascope "kMDQueryScopeComputer"
8/12/14 6:30:33.192 PM mds[79]: (Normal) Volume: volume:0x7ff160014600 ********** Bootstrapped Creating a default store:0 SpotLoc:(null) SpotVerLoc:/Volumes/Mac SD/.Spotlight-V100/Store-V1 occlude:0 /Volumes/Mac SD
8/12/14 6:30:35.653 PM mds_stores[136]: (Error) Permissions: Failed stat on perm journal with error 9
8/12/14 6:31:07.429 PM com.apple.audio.DriverHelper[218]: The plug-in named AirPlay.driver requires extending the sandbox for the IOKit user-client class AMDSIVideoContext.
8/12/14 6:31:21.119 PM mds_stores[136]: (Error) SecureStore: Access token 5 changed uid from -1 to 501
Here are some Error logs when I restarted mds....................
Aug 12 18:29:45 Vances-Mac-mini.local mds[471]: (Normal) FMW: FMW 0 0
Aug 12 18:30:31 Vances-Mac-mini.local mds[79]: (Normal) FMW: FMW 0 0
Aug 12 18:30:31 Vances-Mac-mini.local mds[79]: (Warning) Server: No stores registered for metascope "kMDQueryScopeComputer"
Aug 12 18:30:32 Vances-Mac-mini.local mds[79]: (Warning) Server: No stores registered for metascope "kMDQueryScopeComputer"
Aug 12 18:30:33 Vances-Mac-mini.local mds[79]: (Normal) Volume: volume:0x7ff160014600 ********** Bootstrapped Creating a default store:0 SpotLoc:(null) SpotVerLoc:/Volumes/Mac SD/.Spotlight-V100/Store-V1 occlude:0 /Volumes/Mac SD
Aug 12 18:30:33 Vances-Mac-mini.local mds_stores[136]: (/.Spotlight-V100/Store-V2/68BB3FC1-DEB1-497D-827E-5C13BB0D5495)(Warning) IndexState in void updateMetaInfoForState(CIMetaInfo *, unsigned int, unsigned int):shadow live count mis-match expected:3 got 2
Aug 12 18:30:35 Vances-Mac-mini.local mds_stores[136]: (Error) Permissions: Failed stat on perm journal with error 9
Aug 12 18:31:07 Vances-Mac-mini.local com.apple.audio.DriverHelper[218]: The plug-in named AirPlay.driver requires extending the sandbox for the IOKit user-client class AMDSIVideoContext.
Aug 12 18:31:21 Vances-Mac-mini.local mds_stores[136]: (Error) SecureStore: Access token 5 changed uid from -1 to 501
Aug 12 18:39:33 Vances-Mac-mini.local mds_stores[136]: (/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T)(Warning) IndexStore in void setAttributes(si_set_attr_ctx *, Boolean):Unexpected transaction id 3. Expected 2. Attempting repair
Aug 12 18:39:33 Vances-Mac-mini.local mds_stores[136]: (/private/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T)(Warning) IndexStore in void setAttributes(si_set_attr_ctx *, Boolean):Transaction id is now 3
It has been 30 minutes now and the HD has not stopped for more then a second.