Magaz, The Greek Linux Magazine
Magaz Logo

Ελληνικά στο webglimpse/glimpse

Νίκος Μαυρογιαννόπουλος
Απρίλιος 1999

Τα προγράμματα glimpse/webglimpse αποτελούν τον πυρήνα μιας μηχανής αναζήτησης. Τo glimpseindex αναλαμβάνει το ρόλο της ταξινόμησης και δημιουργίας των αρχείων δεικτών (index files), ενώ το glimpse, την αναζήτηση σε αυτά. Το webglimpse είναι μια σειρά από scripts σε perl με σκοπό την εύκολη αναζήτηση από web. Η εγκατάσταση είναι σχετικά απλή αν ακολουθηθούν οι οδηγίες που περιέχονται στα πακέτα glimpse και webglimpse. (οι πιο πρόσφατες εκδόσεις βρίσκονται στο http://glimpse.cs.arizona.edu και http://glimpse.cs.arizona.edu/webglimpse

To Glimpse σχεδιάστηκε και υλοποιήθηκε από τους Udi Manber, Sun Wu, και Burra Gopal στο πανεπιστήμιο της Αριζόνα, τμήμα πληροφορικής. Δεν είναι ελεύθερο λογισμικό αλλά η διανομή του για μη κερδοσκοπικούς σκοπούς επιτρέπεται. Για περισσότερες πληροφορίες κοιτάξτε το αρχείο COPYRIGHT μέσα στα tarball του glimpse.

Η υποστήριξη ελληνικών κατά την δημιουργία των αρχείων δεικτών καθώς και κατά την αναζήτηση παρ' όλο που δεν αναφέρεται πουθενά, υπάρχει. Για να την ενεργοποιήσουμε πρέπει να αλλάξουμε στο Makefile κατά την μεταγλώττιση του glimpse την μεταβλητή ISO_CHAR_SET από 0 σε 1.


Δηλαδή την σειρά:
ISO_CHAR_SET = 0
σε
ISO_CHAR_SET = 1

Η υποστήριξη αυτή βασίζεται στην δυνατότητα της libc να διαχωρίζει τους χαρακτήρες σύμφωνα με την χώρα που έχει δηλωθεί. Η δήλωση αυτή γίνεται μέσω της μεταβλητής περιβάλλοντος LC_COLLATE (ή και LANG). Αρκεί λοιπόν πριν τρέξουμε τα glimpseindex και glimpse να θέσουμε LC_COLLATE=el (ή gr_GR για την libc5). Αν όλα πήγαν καλά στο αρχείο .glimpse_index υπάρχουν και ελληνικοί χαρακτήρες-λέξεις.

Το webglimpse χρειάζεται επίσης μερικές αλλαγές για να μπορέσει να δεχτεί ελληνικούς χαρακτήρες χωρίς να τους απορρίψει. Αρχικά αλλάζουμε το αρχείο webglimpse στον cgi-bin κατάλογο.


Αναζητούμε την σειρά:
$ENV{'PATH'} = '/bin:/usr/bin';
και προσθέτουμε πριν από αυτήν:
$ENV{'LC_COLLATE'} = 'el';

Προσοχή όχι
{'LANG'}= 'el';
γιατί με αυτόν τον τρόπο αλλάζουνεκαι οι ημερομηνίες που χρησιμοποιεί το webglimpse σε ελληνικά, με αποτέλεσμα να μην λειτουργεί καθόλου.

Τώρα στο ίδιο αρχείο αναζητούμε την σειρά:
 &err_badquery if !$highlight;
και την αλλάζουμε σε:
 #&err_badquery if !$highlight;

δηλαδή την βγάζουμε έξω τελείως, αφού αυτή δεν επιτρέπει την εισαγωγή ελληνικών στα πεδία. Επειδή δεν ξέρω perl δεν μπορώ να γνωρίζω τί ακριβώς έκανε αυτή η γραμμή. Αν κάποιος γνωρίζει καλό θα ήταν να μας διαφωτίσει.
Έτσι από το επόμενο query το webglimpse θα αναγνωρίσει και ελληνικούς χαρακτήρες χωρίς κανένα πρόβλημα!


Valid HTML 4.01!   Valid CSS!