> <div style="color:#9215a0">settings</div> <div style="color:#3b9636">contains program setting and configuration.</div>
> <div style="color:#9215a0">filters</div> <div style="color:#3b9636">contains the file filters to know the target file extension.</div>
> <div style="color:#9215a0">indexers</div> <div style="color:#3b9636">contains the indexers for csv, pdf and txt file extension.</div>
> <div style="color:#9215a0">searchers</div> <div style="color:#3b9636">contains the one class to search in the indexed files.</div>
> <div style="color:#9215a0">representers</div> <div style="color:#3b9636">the return type of the searcher is a list of documents each one encoded with some structure so we have a staregy for each type of encoding to decode</div>
> <div style="color:#9215a0">representer resolver</div> <div style="color:#3b9636">gets a document and return the appropriate representation for this document</div>
> <div style="color:#9215a0">benchmark class</div> <div style="color:#3b9636">caluclates the time consumed to execute a function</div>
## The New Things Added To The Code
> <div style="color:#9215a0">analyzers package</div> <div style="color:#3b9636">contains the LuceneAnalyzer class witch has the analyze function and the CustomAnalyzerWrapperBuilder class with returns the PerFieldAnalyzerWrapper with the map of analyzers and keys </div>
> <div style="color:#9215a0">search engine</div> <div style="color:#3b9636">encapsulates the indexing and searching process. it contains a list of the indexers each one knows how to index a file and have the searcher to search for a query the output of it will be forwarded to the representers resolver to get the appropriate representation.</div>
> <div style="color:#9215a0">main function</div> <div style="color:#3b9636">contains usage of some analyzers and the creation of the custom analyzer.</div>
> <div style="color:#9215a0">edit the indexers</div> <div style="color:#3b9636">to get an instance of PerFieldAnalyzerWrapper from the constructor.</div>