def search_and_rank_query(query, inverted_index, k, number_of_documents, inverted_documents_dict, load_path): p = Parse() query_object = p.parse_query(query) searcher = Searcher(inverted_index, number_of_documents, load_path) relevant_docs = searcher.relevant_docs_from_posting(query_object) normalized_query = searcher.normalized_query(query_object) ranked_docs = searcher.ranker.rank_relevant_doc(relevant_docs, normalized_query, inverted_documents_dict) return searcher.ranker.retrieve_top_k(ranked_docs, k)