use message queue to simulate the communication process between manager and worker instances
store all the indexes in a seperate file as a dictionary (e.g., allIndexes.txt; the dictionary itself can be built during the engine initialization, the main point here is to store a list of all the indexes somewhere), to speed up looking up if a word index is in our database
(maybe) store the index file seperatedly for each index, this is usually the practice when number of texts get large