The File-Based Document Search Engine is a Java application designed to search through a collection of text documents for specific keywords or patterns and return the matching documents. This project leverages multithreading to process and search multiple documents concurrently, utilizes Java Streams for filtering and transforming document content, and applies SOLID principles to maintain clean and manageable code.
- Concurrent Document Processing: Utilizes multithreading to process and search multiple documents simultaneously.
- Stream API Integration: Uses Java Streams for filtering, mapping, and transforming document content.
- Collections for Metadata: Stores document metadata such as file name, word count, and last modified date.
- Serialization: Serializes search results and document metadata for later use.
- Lambda Expressions: Implements search patterns using lambda expressions.
- SOLID Principles: Adheres to SOLID principles by separating search logic, file processing, and result management.