Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Δεικτοδότηση Κειμένων με Β-tree (Inverted File).

Δεικτοδότηση Κειμένων με Β-tree (Inverted File). 7 Μήνες 1 Ημέρα πριν #4440

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 405
  • Ληφθείσες Ευχαριστίες 65
Καλησπέρα!

Έφτιαξα ένα πρόγραμμα το οποίο δέχεται ως είσοδο αρχεία κειμένου (.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 είναι η λέξη.

Ευχαριστώ και ελπίζω να σας αρέσει!!!
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Δεικτοδότηση Κειμένων με Β-tree (Inverted File). 7 Μήνες 1 Ημέρα πριν #4442

  • Αποστόλης
  • Το Άβαταρ του/της Αποστόλης
  • Αποσυνδεμένος
  • pyth__
  • Δημοσιεύσεις: 120
  • Ληφθείσες Ευχαριστίες 20
Λίγο που το δοκίμασα σε CentOS 6 με python 3.4.5 τρέχει μια χαρά.

Τα λεκτικά σου με μπέρδεψαν λίγο (π.χ. δημιουργεί database ή dat αρχείο; ) αλλά ok.
Επίσης «φύτεψα» ένα δικό μου αρχείο και έτρεξε με επιτυχία.

Αυτά :)
Τελευταία διόρθωση: 7 Μήνες 1 Ημέρα πριν από Αποστόλης.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Δεικτοδότηση Κειμένων με Β-tree (Inverted File). 7 Μήνες 1 Ημέρα πριν #4443

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 405
  • Ληφθείσες Ευχαριστίες 65
Αποστόλης έγραψε:
Λίγο που το δοκίμασα σε CentOS 6 με python 3.4.5 τρέχει μια χαρά.

Τα λεκτικά σου με μπέρδεψαν λίγο (π.χ. δημιουργεί database ή dat αρχείο; ) αλλά ok.
Επίσης «φύτεψα» ένα δικό μου αρχείο και έτρεξε με επιτυχία.

Αυτά :)

Λέω database αλλά δεν εννοώ κάτι σαν sql :p , απλώς αναφέρομαι στις δομές που έκανα. Και οι δύο δεομές φτιάχνονται μέσα σε αρχεία όχι στην μνήμη (btree και posting list).

Ευχαριστώ για την απάντηση.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 7 Μήνες 1 Ημέρα πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.384 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου