1. A method of searching by a processor comprising: generating a master index having a plurality of index documents corresponding to artifacts stored in a repository, wherein an index document is associated with a source artifact, the index document indexes the associated source artifact according to a list of index keys, wherein index keys are separated into index categories corresponding to logical levels of source artifacts, the logical levels include metadata and content levels, wherein index categories are assigned respective boost values to indicate relative importance of the index categories, index keys are assigned boost values of their associated index categories: firing a search query by a user to search the master index; generating a result list of artifacts matching (hit) the search query; and ranking artifacts in the list based on hit scores of the artifacts (artifact hit scores), wherein an artifact hit score is based on a total score of individual hits (individual hit scores) of the artifact, an individual hit score of an artifact is equal to the boost value of the assigned boost value of the index key associated with the hit.