16. A computer implemented method for searching and ranking, comprising: receiving an user input query comprising a plurality of keywords; retrieving a sorted database comprising a plurality of sorted files, wherein each sorted file is a sorted content of its respective corresponding original file; searching said sorted database based on said query to produce a list of files-of-interest; retrieving corresponding original files from an original database based on said list of files-of-interest; obtaining a plurality of scores for each file of said list of files-of-interest, wherein at least two of said plurality of scores are calculated based on a plurality of paragraph scores, and wherein each paragraph score is calculated based on a total number of matched keywords, a number of unique matched query-keywords, and a plurality of distances between any two adjacent matched keywords within each paragraph; searching and scoring said corresponding original files; ranking said respective corresponding files based on a default setting of priority levels of scores and score values of each said respective corresponding original file, in response to the score values of at least two current compared scores are equal, the score values of at least two respective scores with lower priority are used for ranking; and presenting results of said ranking to the user.
22. The method according to claim 16 , wherein said searching said sorted database comprises: for each file of said sorted files: aâ€”determine a number of unmatched keywords in the query; bâ€”if the number of unmatched keywords is greater than a predetermined number, skip the current file and go to next file; câ€”if the number of unmatched keywords is not greater than said predetermined number, storing the filename of the current file to a list of files-of-interest and go to next file.