def boolean_and(set1, set2): return set1.intersection(set2) def process_query(query): query_terms = query.split() result_set = inverted_index.get(query_terms[0], set()) for term in query_terms[1:]: term_documents = inverted_index.get(term, set()) result_set = boolean_and(result_set, term_documents) return result_set user_query = input("Enter your query: ") matching_documents = process_query(user_query) if matching_documents: print("Documents matching the query:") for doc_name in matching_documents: if doc_name in document_urls: print(f"- {doc_name}: {document_urls[doc_name]}") else: print("No documents found matching the query.")