
Also because every time you press that Ctrl+Shift+R, or Ctrl+Shift+O, or Ctrl+T in java or run some free text search, You are loading up eclipse's cache of index. Also JDT slowly keeps a track of it, for Type Hierarchies, Implementations.
The easiest way is to open a workspace for every unrelated project. Keep it small. But sometimes, it is not possible. Dependencies. Ease to work with one monolithic workspace (opening and closing projects - yea that's me). For these cases, You could just clean up the .metadata\.plugins\org.eclipse.jdt.core folder in your workspace.
If you are feeling even lucky, go ahead, clean up .metadata\.plugins\org.eclipse.core.resources\.history... a. a. aa. Wait, That folder, contains all that local history of files you have changed - LOCALLY (NOT cvs or svn history). So if you are working on some files without committing them in and rely on the local history to go back, Do not do this step.