Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Σχετικά έγγραφα
4. Κατασκευή Ευρετηρίου

ΜΥΕ003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαια 4, 5: Κατασκευή Ευρετηρίου. Στατιστικά Συλλογής. Συμπίεση

ΜΥΕ003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαια 4, 5: Κατασκευή Ευρετηρίου. Στατιστικά Συλλογής. Συμπίεση

Information Retrieval

Information Retrieval

Information Retrieval

Information Retrieval

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Introduction to Information Retrieval

ΜΥΕ003: Ανάκτηση Πληροφορίας. Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαιο 5: Στατιστικά Συλλογής. Συμπίεση.

Ανάκληση Πληπουοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Ανάκτηση Πληροφορίας. Φροντιστήριο 3

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Επανάληψη προηγούμενης διάλεξης

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

Ευρετηρίαση ΜΕΡΟΣ ΙIΙ. Επεξεργασία Κειμένου

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επεξεργασία & Οργάνωση Δεδομένων Κειμένου

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Ανεκτική αναζήτηση. ηµιουργία Ευρετηρίου. ιδάσκων ηµήτριος Κατσαρός, Ph.D.

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ & ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ

Advanced Data Indexing

Το εσωτερικό ενός Σ Β

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης, Δημήτρης Πλεξουσάκης, Χαρίδημος Κονδυλάκης

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Ανάκτηση Πληροφοριών

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

Επεξεργασία Ερωτήσεων

Εργασία Μαθήματος Αξία: 40% του τελικού σας βαθμού Ανάθεση: Παράδοση:

Επεξεργασία ερωτημάτων

Σύστηµα Αρχείων και Καταλόγων

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

Κεφάλαιο 2.4: Εργασία με εικονίδια

Μεταπτυχιακή Διπλωματική Εργασία. «Τεχνικές Δεικτοδότησης Συστημάτων Ανάκτησης Πληροφορίας με τη χρήση Wavelet Trees» Κατσίπη Δήμητρα ΑΜ: 741

Information Retrieval

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Εικονική Μνήμη (virtual memory)

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Κεφ.11: Ευρετήρια και Κατακερματισμός

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Ταξινόμηση. Σαλτογιάννη Αθανασία

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Information Retrieval

Αρχιτεκτονική υπολογιστών

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

Ταξινόμηση με συγχώνευση Merge Sort

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφ. 10: Δομές Αποθήκευσης

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

Αλγόριθμοι και Πολυπλοκότητα

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Συµπίεση Ευρετηρίου. Term weighting. ιδάσκων ηµήτριος Κατσαρός, Ph.D.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

Η ιεραρχία της μνήμης

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ευρετηρίαση ΜΕΡΟΣ ΙΙ

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

Επεξεργασία Ερωτήσεων

Αποθήκευση Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Ονοματεπώνυμο: Αριθμός Μητρώου:

Ανάκτηση πληροφορίας

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun

Parallel and Distributed IR Παράλληλη και Κατανεμημένη ΑΠ

Ανάκληση Πληροφορίας. Information Retrieval. Διδάσκων Δημήτριος Κατσαρός

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Ανάκτηση Πληροφορίας

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. Αρχιτεκτονική Υπολογιστών Νεκτάριος Κοζύρης.

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Transcript:

Ανάκληση Πληποφοπίαρ Information Retrieval Διδάζκων Δημήηριος Καηζαρός Διάλεξη 7η: 21/03/2016 1

Ch. 4 Κατασκευή του ευρετηρίου Πώς κατασκευάζουμε το ευρετήριο; Ποιες στρατηγικές μπορούμε ν ακολουθήσουμε όταν έχουμε περιορισμό στην διαθέσιμη κύρια μνήμη; Πολλές από τις σχεδιαστικές αποφάσεις για ένα σύστημα IR βασίζονται στα χαρακτηριστικά του υλικού Θα κάνουμε μια επισκόπηση των βασικών εννοιών του υλικού που σχετίζονται με την σχεδίαση συστημάτων IR 2

Sec. 4.1 Βασικές έννοιες του υλικού Η πρόσβαση στα δεδομένα της κύριας μνήμης είναι πολύ γρηγορότερη από ότι η πρόσβαση στα δεδομένα του μαγνητικού δίσκου Disk seeks: Τα δεδομένα δεν μπορούν να μεταφερθούν από τον δίσκο, όσο η κεφαλή του δίσκου τοποθετείται πάνω από αυτά Άρα: Η μεταφορά ενός μεγάλου τμήματος δεδομένων από τον δίσκο στην μνήμη είναι γρηγορότερη από ότι η μεταφορά πολλών μικρών Η I/O στον δίσκο γίνεται σε blocks: Ανάγνωση και εγγραφή ολόκληρων blocks (και όχι μικρών chunks) Μεγέθη block (οι επονομαζόμενες σελίδες ): 8KB μέχρι 256 KB 3

Sec. 4.1 Βασικές έννοιες του υλικού Οι εξυπηρετητές που χρησιμοποιούνται σε συστήματα IR έχουν πλέον αρκετά GB κύριας μνήμης Ο διαθέσιμος χώρος στον δίσκο είναι μερικές τάξεις (2 3) μεγέθους μεγαλύτερος Η ανοχή σε σφάλματα είναι πολύ ακριβή: Είναι πολύ πιο φθηνό να χρησιμοποιηθούν πολλές κανονικές μηχανές, παρά μια εξαιρετικής ευρωστίας, αλλά ακριβή μηχανή Αυτό το ζήτημα αφορά στο distributed indexing με MapReduce, και δεν θα μας απασχολήσει στις διαλέξεις. Ο ενδιαφερόμενος αναγνώστης παραπέμπεται στο μάθημα Advanced Distributed Computing http://inf-server.inf.uth.gr/courses/ce623/ 4

Sec. 4.1 Υποθέσεις για το υλικό symbol statistic value s average seek time 5 ms = 5 x 10 3 s b transfer time per byte 0.02 μs = 2 x 10 8 s processor s clock rate 10 9 s 1 p low-level operation 0.01 μs = 10 8 s (e.g., compare & swap a word) size of main memory several GB size of disk space 1 TB or more 5

RCV1: Η συλλογή των εγγράφων Η συλλογή των έργων του Shakespeare δεν είναι αρκετά μεγάλη για να επιδειχτούν πολλά από τα θέματα που μας αφορούν στο συγκεκριμένο μάθημα Η συλλογή στην οποία θ αναφερθούμε δεν είναι πάρα πολύ μεγάλη, αλλά είναι διαθέσιμη δημοσίως και είναι σαφώς μεγαλύτερη Ως παράδειγμα εφαρμογής κλιμακούμενων αλγορίθμων κατασκευής του ευρετηρίου, θα χρησιμοποιήσουμε την συλλογή Reuters RCV1 Περιλαμβάνει ένα έτος ανταποκρίσεων του Reuters (μέρος του 1995 και 1996) 6

Ένα έγγραφο της συλλογής Reuters RCV1 7

Στατιστικά της συλλογής Reuters RCV1 symbol statistic value N documents 800,000 L avg. # tokens per doc 200 M terms (= word types) 400,000 avg. # bytes per token 6 (incl. spaces/punct.) avg. # bytes per token 4.5 (without spaces/punct.) avg. # bytes per term 7.5 non-positional postings 100,000,000 4.5 bytes per word token versus 7.5 bytes per word type: Γηατί; 8

Θυμηθείτε την βασική ιδέα κατασκευής Τα έγγραφα γίνονται parse για να εξαχθούν οι λέξεις, και αυτές κατόπιν αποθηκεύονται με το Document ID Doc 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me Doc 2 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Term Doc # I 1 did 1 enact 1 julius 1 caesar 1 I 1 was 1 killed 1 i' 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2 9

Το βασικό βήμα Όταν όλα τα έγγραφα έχουν γίνει parse, το inverted file ταξινομείται ως προς τους όρους Εστηάδοςμε σ αςτό το βήμα ταξηνόμεσερ. Ππέπεη να ταξηνομήσοςμε 100M items. Term Doc # I 1 did 1 enact 1 julius 1 caesar 1 I 1 was 1 killed 1 i' 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2 Term Doc # ambitious 2 be 2 brutus 1 brutus 2 capitol 1 caesar 1 caesar 2 caesar 2 did 1 enact 1 hath 1 I 1 I 1 i' 1 it 2 julius 1 killed 1 killed 1 let 2 me 1 noble 2 so 2 the 1 the 2 told 2 you 2 was 1 was 2 with 2 10

Κλιμακώνοντας την κατασκευή του index Η κατασκευή εντός της κύριας μνήμης δεν κλιμακώνεται ως προς τον αριθμό των postings (απλά, δεν χωράνε όλοι στην κύρια μνήμη) Πώς μπορούμε να κατασκυεάσουμε το ευρετήριο για εξαιρετικά μεγάλες συλλογές εγγράφων; Λαμβάνοντας υπόψη τους περιορισμούς που επιβάλλει το υλικό Μνήμη, δίσκος, ταχύτητα, κ.τ.λ. 11

Κατασκευή βασισμένη σε ταξινόμηση Καθώς κατασκευάζουμε τον index, κάνουμε parse τα έγγραφα, ένα κάθε φορά Κατά την κατασκευή, δεν μπορούμε εύκολα να εκμεταλλευτούμε τεχνικές συμπίεσης Τα τελικά postings για κάθε όρο είναι ημιτελή μέχρι να τελειώσουμε την κατασκευή Με 12 bytes per non-positional postings entry (term, doc, freq), απαιτείται πάρα πολύς χώρος για μεγάλες συλλογές T = 100,000,000 στην περίπτωση του RCV1 Οι Web συλλογές είναι τεράστιες: π.χ., οι New York Times παρέχουν index για πάνω από 150 έτη άρθρων Επομένως: Πρέπει ν αποθηκεύσουμε ενδιάμεσα αποτελέσματα στον δίσκο 12

Χρήση του ίδιου αλγορίθμου για δίσκο; Μπορούμε να χρησιμοποιήσουμε τον ίδιο αλγόριθμο κατασκευής για τεράστιες συλλογές, αλλά κάνοντας χρήση του δίσκου αντί της κύριας μνήμης; ΌΧΙ: Η ταξινόμηση T = 100,000,000 εγγραφών στον δίσκο είναι εξαιρετικά αργή πάρα πολλά disk seeks Χρειαζόμαστε έναν αλγόριθμο για external sorting 13

Στενωπός Κάνουμε parse και χτίζουμε postings entries, ένα έγγραφο κάθε φορά Ταξινομούμε τις postings entries ανά όρο (κατόπιν, ανά έγγραφο εντός κάθς όρου) Κάνοντας αυτό με τυχαία disk seeks θα ήταν εξαιρετικά αργό πρέπει να ταξινομηθούν T=100M εγγραφές Εάν θάζε σύγθπησε απαητεί 2 disk seeks, θαη N items μποπούν να ταξηνομεζούν με N log 2 N σςγθπίσεηρ, πόσορ σπόνορ απαητείταη; 14

BSBI: Blocked Sort-Based Indexing (Ταξινόμηση με λιγότερα disk seeks) 12-byte (4+4+4) εγγραφές: (term, doc, freq) Παράγονται καθώς κάνουμε parse τα έγγραφα Πρέπει να ταξινομηθούν 100M τέτοιες 12-byte εγγραφές ως προς τους όρους Ορίζουμε ένα Block ~ 10M τέτοιων εγγραφών Μπορούν εύκολα να χωρέσουν δύο τέτοια στην μνήμη Θα έχουμε 10 τέτοια blocks για να δουλέψουμε Βασικη ιδέα του αλγορίθμου: Sec. 4.2 Συσσωρεύουμε postings από κάθε block, τις ταξινομούμε, και τις γράφουμε στον δίσκο Δηλαδή, συγχωνεύουμε τα blocks σε ένα μεγαλύτερο, ταξινομημένο 15

Επίδειξη της βασικής ιδέας 16

Sorting 10 blocks of 10M records Πρώτα, διαβάζουμε κάθε block και ταξινομούμε: Ο quicksort απαιτεί 2N ln N αναμενόμενα βήματα Στην περίπτωσή μας: 2 x (10M ln 10M) βήματα 10 φορές αυτήν την εκτίμηση μας δίνει 10 sorted runs των 10M εγγραφών η κάθε μια Γίνεται εύκολα, απαιτεί 2 αντίγραφα των δεδομένων στον δίσκο Αλλά, μπορούμε να το βελτιστοποιήσουμε αυτό Δείτε το Πρόβλημα-05 στην Σειρά Προβλημάτων 2 η 17

Ο αλγόριθμος BSBI 18

Πώς να συγχωνεύσουμε τα ταξινομημένα runs; Μπορούμε να εκτελέσουμε binary merges, με ένα merge tree των log 2 10 = 4 στρωμάτων Σε κάθε στρώμα, φέρνουμε στην μνήμη τα runs σε blocks των 10M, εκτελούμε συγχώνευση, και τα αποθηκεύουμε στον δίσκο 1 2 3 4 1 2 3 Sec. 4.2 Σςγσωνεςμένο run Τα runs ππορ σςγσώνεςσε Δίσκος 4 19

Πώς να συγχωνεύσουμε τα ταξινομημένα runs; Αλλά είναι πιο αποδοτικό να εκτελέσουμε ένα n-way merge, όπου διαβάζουμε από όλα τα blocks ταυτόχρονα Υπό την προϋπόθεση ότι φέρνουμε κατάλληλου μεγέθους chunks από κάθε block στην μνήμη, και κατόπιν γράφουμε στον δίσκο ένα κατάλληλου μεγέθους chunk στην έξοδο, τότε δεν κινδυνεύουμε από πολλά disk seeks 20

Sec. 4.3 Παραμένον πρόβλημα με τον sort-based αλγόριθμο Μια βασική υπόθεση που κάναμε πριν: μπορούμε να αποθηκεύσουμε το dictionary στην μνήμη Χρειαζόμαστε το dictionary (που μεγαλώνει δυναμικά) για να κάνουμε την αντιστοίχιση term προς termid Στην πραγματικότητα, μπορούμε να εργαστούμε με term,docid postings αντί για termid,docid postings...... αλλά τότε τα ενδιάμεσα αρχεία γίνονται εξαιρετικά μεγάλα. (Θα είχαμε έτσι μια scalable, αλλά πολύ αργή μεθοδο κατασκευής του index 21

Sec. 4.3 SPIMI: Single-Pass In-Memory Indexing Βασική ιδέα 1: Γεννούμε ξεχωριστά dictionaries για κάθε block δεν χρειάζεται να διατηρούμε αντιστοίχιση term-termid μεταξύ των blocks Βασική ιδέα 2: Δεν ταξινομούμε. Συσσωρεύουμε postings στις postings lists καθώς αυτά γεννιούνται Με αυτές τις δυο ιδέες, μπορούμε να κατασκευάσουμε έναν πλήρη inverted index για κάθε block Αυτοί οι ξεχωριστοί indexes μπορούν κατόπιν να συγχωνευτούν σε έναν μεγάλο index 22

Sec. 4.3 Ο αλγόριθμος SPIMI Η συγχώνευση των blocks είναι ανάλογη εκείνης του BSBI 23

Sec. 4.3 SPIMI: Συμπίεση Η συμπίεση καθιστά τον αλγόριθμο SPIMI ακόμη περισσότερο αποδοτικό Συμπίεση των όρων Συμπίεση των postings Δείτε την επόμενη διάλεξη 24