Osobine rječnika

Šta podrazumjevamo pod rječnikom invertovanog indeksa?

Podsjećamo na pojam rječnika (definisan u topiku Faze kreiranja invertovanog indeksa-Indeksiranje-inicijalizacija): Rečnik (dictionary) je indeks sekvencijalna ili rasuta datoteka, skladišti meta podatke za sve termine, koristi se prilikom inicijalizacije pretrage.

Rečnik invertovanog indeksa često predstavlja usko grlo indeksa. On mora omogućiti brzo čitanje reči, a za to je poželjno da veći deo istog bude smešten u radnoj memoriji, što znači da rečnik mora biti dobro kompresovan.

Razlikuju se rečnici koji su organizovani kao rasuta datoteka i rečnici sa indeks-sekvencijalnom datotekom, leksikografski uređeni.


Dalje mogu se razlikovati po promenljivosti sadržaja - statični i dinamični.
Prvi je moguće implementirati pomoću statične heš mape, sa upotrebom otvorenog heširanja i dobrom heš funkcijom. Ulančavanje se ne preporučuje jer zahteva veću količinu radne memorije. Ukoliko je potrebno omogućiti centralni rečnik (zajednički za sve segmente) koji ne služi samo za čitanje već i upis novih vrednosti, onda se koristi dinamično heširanje.
Drugi tip rečnika, uređen tj. sortiran, implementira se kao stablo pretraživanja. Može biti binarno stablo ili trie ukoliko se nalazi u radnoj memoriji, odnosno B-stablo ukoliko je na spoljašnjem medijumu. Stabla su lošija u odnosu na heš mape u pogledu broja neophodnih pristupa da bi se pronašla tražena vrednost. Složenost upisa i čitanja kod stabala su logaritamska, dok su kod heš mape konstantna. Ipak sortirani rečnici imaju velikih prednosti u pogledu kompresije jer je moguće kodirati razliku između susednih reči, umesto kodiranja cele reči. Ovaj metod je obavezno korišćen kod rečnika koji staju u radnu memoriju.

Rečnik pored same reči skladišti i određene metapodatke. Osim njih, rečnik može da skladišti i celobrojni identifikator reči. U tom slučaju svakoj reči pridružena je celobrojna vrednost označena kao rečId. Upotrebom ove vrednosti omogućava se bolja kompresija i brže spajanje segmenata.

 

copyright M2M
BL-2011/14