Design and implement a mini search engine.
The task performed by a search engine is to search through a collection of documents.
Given a set of texts and a query, the search engine locates the documents that contain the keywords in the query.
Design and implement an algorithm (including a fancy GUI interface) that searches a collection of documents. (See attached file for further project details)
**Program, should include comments on what each method does.
There are two main parts in this project:
1. Write a project report (about 4-6 typed pages , double space ; 12pt font) that includes:
- design issues, what are the problems and how you solve them
- data structures you use, the decision behind selecting them
- algorithms you employ, again with a justification of your decision
- particular emphasis should be placed on the running time of your algorithm
- optimization issues: what could you do to further optimize your algorithm
2. Develop a fully working program, written in Java that you can provide with a query, and obtain the list of documents. It is mandatory that you include a README file, as detailed as possible, including compilation and running instructions. Is it also mandatory that your programs are fully documented, that is they should include detailed comments on what is included in each file and what each method does.