FileBasedIndex:indexFileContent() is sort of core method which computes index information for given file content. Intellij computes stub index, ... for .java files. Attached sample stub tree for .java file being indexed. These stub tree information is stored in a hashmap with # of filename as key and contents of stub tree as value. IdIndex is sort of hashmap with key as '#of keyword/string' and value as #of file. How does intellij searches the stub index for a given keyword/string? Does intellij gets the list of files in which the word occurred using IdIndex and later uses stubtree to gather further information?
Any pointers related to indexing are most welcome.