Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java OOP Search Engine - Academic Project

Overview

This project implements a basic search engine using Object-Oriented Programming (OOP) concepts in Java. Developed as part of an academic curriculum, it served as a comprehensive exercise to deepen my understanding of OOP principles, software design, and core search engine functions.

The search engine is designed with modular components such as an indexer, scheduler (ordonnanceur), and analyzer, which together enable processing and retrieving information efficiently.

Key Concepts Learned

  • Object-Oriented Programming (OOP): Class design, encapsulation, inheritance, polymorphism, and abstraction.
  • Software Design Principles: Modularization, separation of concerns, single responsibility principle, and maintainability.
  • Search Engine Components:
    • Indexer: Processes documents and builds searchable indices.
    • Scheduler (Ordonnanceur): Manages task execution order and concurrency.
    • Analyzer: Parses and interprets search queries and document content.

Project Structure

MOTEURDERECHERCHE/ ├── src/ # Java source files for all components ├── results/ # Output files (ignored by Git) ├── README.md # Project documentation └── .gitignore # Specifies files/folders ignored by Git

How to Build and Run

  1. Compile the Java source files located in the src/ folder: javac -d bin src/*.java
  2. Run the main class (main.java): java -cp bin main

Future Enhancements

  • Implement advanced indexing algorithms for better performance and scalability
  • Add support for complex query parsing and ranking
  • Develop a graphical or web-based user interface for easier interaction

Conclusion

This academic project was a valuable introduction to both Object-Oriented Programming and the foundational concepts of search engines. It strengthened my skills in software design, problem decomposition, and Java programming, providing a solid foundation for more complex software development challenges.


Feel free to explore the code and reach out if you have questions or suggestions!

About

Java OOP Search Engine academic project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages