Posted on November 25, 2008 in Computers by seadog5 Comments »

Η αναζήτηση είναι μέρος της βασικής υποδομής του Διαδικτύου. Και προς το παρών είναι προβληματική

Γιατί είναι προβληματική; Για τον ίδιο λόγο που το ιδιόκτητο λογισμικό θα είναι πάντα προβληματικό: έλλειψη ελευθερίας, έλλειψη της κοινότητας, έλλειψη υπευθυνότητας, έλλειψη διαφάνειας.

Το παραπάνω κείμενο προέρχεται από την πρώτη σελίδα του έργου Grub. Και με βρίσκει απόλυτα σύμφωνο. Χωρίς την αναζήτηση το Διαδίκτυο είναι απλά σχεδόν άχρηστο. Η πληροφορία θα βρίσκεται εκεί, αλλά εάν δεν μπορείς να την προσπελάσεις σου είναι άχρηστη. Η αναζήτηση στο διαδίκτυο έχει αλλάξει πολύ τα τελευταία χρόνια και η παροχή αυτής έχει έρθει σχεδόν ολοκληρωτικά στα χέρια της Google.

Μπορεί το μοτο της Google να είναι "don't be evil" αλλά ας μην εθελοτυφλούμε. Η Google παρουσιάζει απίστευτο συγκεντρωτισμό ενώ τα τελευταία χρόνια γίνεται "evil" όλο και περισσότερο. Θα αναφέρω μόνο δύο παραδείγματα: To φιλτράρισμα των αποτελεσμάτων που με χαρά προσφέρει το Google China στην Κινεζική κυβέρνηση (και ποιος ξέρει τι γίνεται με τον "δυτικό" κόσμο) και το γεγονός ότι το Google αποθηκεύει τις αναζητήσεις και την IP μας για 9 μήνες (πρόσφατα ήταν 18-24 μήνες!).

Όμως η Google κάνει απλά την δουλειά της, όπως θα έκανε και οποιαδήποτε άλλη εταιρία στη θέση της. Το ζητούμενο είναι οι κοινότητες Ελεύθερου Λογισμικού και Ελευθερίας του Διαδικτύου να αναπτύξουν τις κοινοτικές υποδομές αναζήτησης που θα εξυπηρετούν τις ανάγκες μας στο μέλλον. Έτσι ώστε να μπορούμε να έχουμε ένα μέσο από την κοινότητα για την κοινότητα, που θα έχει διαφανή λειτουργία και θα είναι ελεύθερο.

Υπάρχουν ήδη κάποιες προσπάθειες προς αυτή την κατεύθυνση. Αφιέρωσα χρόνο σε δύο: το Yacy και το Grub / Wikia Search

Το Yacy είναι μία μηχανή αναζήτησης με την λογική P2P. Οι χρήστες μπορούν να τρέχουν το λογισμικού που θα κάνει το crawling (δηλαδή θα επισκέπτονται σελίδες και θα τις αποθηκεύουν) και στην συνέχεια το indexing, στον υπολογιστή τους. Επίσης ο κάθε υπολογιστής του δικτύου παρέχει, μέσω ενός web interface, την δυνατότητα αναζήτησης. Σε κάθε αναζήτηση επιστρέφονται αποτελέσματα από το indexing που έχει γίνει τοπικά όπως και από το indexing που έχουν κάνει άλλοι κόμβοι του δικτύου αυτού.

Εξαιτίας της P2P φύσης του, το Yacy είναι λίγο αργό στην επιστροφή των αποτελεσμάτων, γιατί πρέπει να επικοινωνήσει με άλλους κόμβους. Ωστοσό τα αποτελέσματα του είναι σχετικά καλά. Το πρόβλημα του Yacy είναι ότι δεν υποστηρίζει ελληνικά (και πιθανώς όλους τους non-latin χαρακτήρες) στην αναζήτησή του! Παρόλες τις ερωτήσεις τις ερωτήσεις που κάναμε στα forums του yacy, δεν πήραμε καν απάντηση γιατί συμβαίνει αυτό. Οπότε το yacy, που φαινόταν ενδιαφέρον και με δυνατό interface, είναι απλά άχρηστο. :( (Update! Στο forum post που γκρινιάζαμε για το support, υπάρχουν πλέον απαντήσεις ότι το Yacy δουλεύει και με ελληνικά και με όλες τις γλώσσες! ;) )

Δοκιμάστε το Yacy!

Το δεύτερο έργο που κοίταξα είναι το Grub / Wikia Search. Στην πραγματικότητα είναι δύο έργα. Το Grub είναι ένας κατανεμημένος crawler, ενώ το Wikia Search είναι μία μηχανή αναζήτησης με δυνατότητες παρέμβασης του χρήστη που χρησιμοποιεί δεδομένα από το Grub.

Η λογική του Grub είναι απλή: Θα κατανείμουμε το crawling σε πολλούς χρήστες και θα συγκεντρώνουμε τα αποτελέσματα. Κάθε χρήστης πρέπει να τρέχει έναν client που συνδέεται με τον dispatch server του Grub και παίρνει ένα πακέτο σελίδων που πρέπει να επισκευτεί. Στη συνέχεια επισκέπτεται τις σελίδες και τις αποθηκεύει με ένα ειδικό format σε ένα αρχείο. Το τελικό αρχείο αποστέλλεται πάλι πίσω στο Grub. Υπενθυμίζω ότι το Grub δεν κάνει indexing και επομένως δεν είναι μηχανή αναζήτησης. Προσφέρει όμως απλόχερα τα αποτελέσματα του crawling σε όποιον θέλει να κάνει!

Εδώ έρχεται το Wikia Search. Το wikia search, θέλει να κάνει τον χρήστη μέρος της αναζήτησης, προσφέροντας την δυνατότητα σε αυτόν να επεξεργαστεί, να διαγράψει, να σχολιάσει και "προωθήσει" αποτελέσματα. Προσπαθεί τόσο πολύ να σε κάνει μέρος του site που μπορείς να μεταφράσεις on-the-fly το site τους στην γλώσσα σου! (Μερικά από τα ελληνικά είναι δικά μου ;) Βοηθήστε να το τελειώσουμε!)

Επίσης στην κατηγορία fun υπάρχουν αρκετά ενδιαφέροντα πράγματα που μπορείς να κάνεις με τα αποτελέσματα μιας αναζήτησης, όπως το Faviconnery (που συγκεντώνει τα fav icons από όλες τις σελίδες των αποτελεσμάτων). Επίσης μπορείτε να δείτε ζωντανά από ποιούς γίνεται οι τελευταίες προσθήκες στην μηχανή. Μάλιστα, η wikia προσφέρει υπό την άδεια CC-BY-SA 3.0 το index που χρησιμοποιεί για την αναζήτηση!

Δοκιμάστε το Wikia Search!

Τα αποτελέσματα και τον δύο μηχανών δεν μπορούν ακόμη να συγκριθούν με τα πολύ καλά αποτελέσματα άλλων μηχανών, όπως η Google. Είναι όμως προσπάθειες προς την σωστή κατεύθυνση της ελευθερίας και της διαφάνειας και είναι και έργα ελεύθερου λογισμικού. Οπότε είναι απλά θέμα χρόνου το πότε θα κερδίσουμε!

Ήδη δουλεύω σε έναν python based grub client και τώρα που το Yacy υποστηρίζει ελληνικά θα πρέπει να στήσω ξανά ένα node! :)