Περίληψη:
Ο Παγκόσμιος Ιστός είναι μια απέραντη θάλασσα με τεράστιο όγκο πληροφορίας. Καθημερινά, εκατομμύρια άνθρωποι δημιουργούν αλλά και γίνονται αποδέκτες πληροφοριών στο Διαδίκτυο. Επιπλέον, χιλιάδες ιστοσελίδες διαφορετικής μορφής και περιεχόμενου δημιουργούνται ημερησίως και συσσωρεύονται στον Παγκόσμιο Ιστό. Οι αυξανόμενες απαιτήσεις λόγω της πολυπλοκότητας και ποικιλίας των δεδομένων, δημιούργησαν νέες προκλήσεις στις εφαρμογές λογισμικού καθώς πρέπει να συνδυάζουν έξυπνες τεχνικές ανίχνευσης, επεξεργασίας και ταξινόμησης πληροφορίας αλλά και αξιόπιστες κλιμακωτές μεθόδους αποθήκευσης δεδομένων. Για την ανάπτυξη μιας σύγχρονης μηχανής αναζήτησης είναι απαραίτητο εκτός από την κλασσική αναζήτηση λέξεων, να συνδυάσουμε τεχνολογίες ευρετηρίου που να επιτρέπουν αποδοτική αναζήτηση σε μεγάλο σύνολο δεδομένων αλλά και ανιχνευτές Ιστού που χρησιμοποιούν έξυπνους αλγόριθμους ανίχνευσης και ταξινόμησης των δεδομένων. Ο ρόλος της μηχανής αναζήτησης είναι να δίνουν στον χρήστη άμεσα όσο πιο σχετικά αποτελέσματα γίνεται με γνώμονα το ερώτημα του. Για να επιτευχθεί αυτό χρειάζεται μια σειρά από βήματα που σε συνδυασμό με πολλούς παράγοντες θα επιστρέφουν το επιθυμητό αποτέλεσμα. Παραδοσιακά, τα συστήματα ήταν μονολιθικά και χρησιμοποιούσαν σειριακούς αλγόριθμους επεξεργασίας. Ωστόσο, όσο μεγάλωνε ο όγκος του Παγκόσμιου Ιστού η ανίχνευση γινόταν όλο πιο απαιτητική και κοστοβόρα καθώς χρειαζόταν μηχανήματα με δυνατά χαρακτηριστικά. Τα νέα συστήματα ξεφεύγουν από τις κλασσικές προσεγγίσεις και πλέον χρησιμοποιούν παράλληλη επεξεργασία αλλά και το κατανεμημένο μοντέλο για να διαμοιράσουν τον φόρτο εργασίας μεταξύ πολλών υπολογιστών. Στα πλαίσια της πτυχιακής εργασίας σχεδιάστηκε και υλοποιήθηκε η διαδικτυακή εφαρμογή με ονομασία owlsearch, η οποία λειτουργεί ως μηχανή αναζήτησης. Για της υλοποίηση της εναρμονίστηκαν εφαρμογές λογισμικού ανοιχτού κώδικα όπως το Elastcisearch για λογισμικό ευρετηρίου και το Apache Nutch για ανιχνευτή Ιστού.