Καλησπέρα!
Έφτιαξα ένα πρόγραμμα το οποίο δέχεται ως είσοδο αρχεία κειμένου (.txt) και δημιουργεί μια βάση δεδομένων η οποία επιτρέπει γρήγορη αναζήτηση λέξεων και ως απάντηση σου λέει σε πια αρχεία βρίσκεται αυτήν η λέξη αλλά και σε ποιο byte (από την αρχή του αρχείου) βρίσκεται.
Θα ήθελα όσοι έχουν χρόνο, να κατεβάσουν το πρόγραμμα μου και να το τρέξουν (Κυρίως ενδιαφέρομαι για χρήστες linux), χρησιμοποιώντας τα αρχεία που έχω ήδη μέσα στο project αλλά και εισάγοντας δικά σας αρχεία κειμένου.
Το project μπορείτε να το κατεβάσετε από
εδώ.
Πως το χρησιμοποιείται:
1) Βάλτε όλα τα αρχεία κειμένου (.txt) μέσα στον φάκελο "Files Input". Παρακαλώ μην βάλεται αρχεία τύπου binary όπως βίντεο, microsoft office word κτλ αλλά ΜΟΝΟ .txt αρχεία, διαφορετικά το πρόγραμμα θα κρασάρει (Κανονικά θα έπρεπε να το τσεκάρω αυτό αλλά δεν με απασχολούσε και τόσο).
2)Τρέξτε το main.py (είναι το user interface) .
3) Από το menu δώστε το '1' για να δημιουργήσετε την βάση δεδομένων. Θα σας ζητηθεί να δώσετε έναν buffer size (Προτεινόμενο μέγεθος 128) αλλά μπορείτε να βάλετε ότι θέλετε. Όσο ποιο μεγάλο το buffer size τόσο ποιο πολλά παιδιά θα έχει το btree άρα η αναζήτηση θα είναι και ποιο γρήγορη.
4) Τέλος, μόλις δημιουργηθεί το database, διαλέξετε την επιλογή 2 (navigate) πληκτρολογείστε μία λέξη και το σύστημα θα σας απαντήσει.
Παρακαλώ τσεκάρετε επίσης εάν όντως όταν κάνετε μια ερώτηση στην επιλογή navigate σας λέει σωστά σε ποιο αρχείο βρίσκεται αυτήν η λέξη αλλά και σε ποιο byte από την αρχή του κειμένου βρίσκεται. Απλώς ανοίξτε το αρχείο που σας λέει χρησιμοποιώντας python, κάντε seek τόσα bytes όσας σας λέει και κάντε read(number_of_bytes) όσα bytes είναι η λέξη.
Ευχαριστώ και ελπίζω να σας αρέσει!!!