SearchEngine is a lightweight, Java-based search engine that efficiently indexes and searches text data using custom map implementations. Built with JavaFX, it provides a simple yet powerful GUI for users to interact with the search system.
✅ Fast text search using optimized data structures
✅ Custom Map Implementation for efficient indexing
✅ JavaFX GUI for an interactive user experience
✅ CSS-styled interface with theme customization
✅ Standalone operation with no external dependencies
✅ Maven-based build system for easy dependency management
SearchEngine/
│── pom.xml # Maven project configuration
│── mvnw, mvnw.cmd # Maven wrapper scripts
│── src/
│ ├── main/
│ │ ├── java/com/example/searchengine/
│ │ │ ├── FileOperations.java # File handling and text processing
│ │ │ ├── HelloApplication.java # Main JavaFX application
│ │ │ ├── MainController.java # JavaFX controller for UI interactions
│ │ │ ├── MapImplementation/ # Custom data structure implementations
│ │ │ │ ├── AbstractMap.java
│ │ │ │ ├── Entry.java
│ │ │ │ ├── IMap.java
│ │ │ │ ├── UnsortedTableMap.java
│ │ ├── resources/com/example/searchengine/
│ │ │ ├── Main.fxml # JavaFX UI layout
│ │ │ ├── Alerts.css # CSS for alerts and pop-ups
│ │ │ ├── anchorPane.css # General styling
│ │ │ ├── images/ # UI assets (icons, backgrounds)
│── README.md # Project documentation
Ensure you have:
- Java 11 or later
- Maven installed (or use the provided Maven wrapper
mvnw)
git https://github.com/Erfan-Farahmandnejad/Search-Engine.git
cd SearchEngineUse Maven to build the project:
mvn clean packagemvn javafx:run- Launch the application.
- Select or provide a directory containing text files.
- Enter a search query.
- View search results instantly.
- Modify
CSSfiles insrc/main/resources/com/example/searchengine/to change UI styles. - Replace images in
src/main/resources/com/example/searchengine/images/for custom themes.