1 #!/usr/bin/env python 2 3 import iixr 4 5 numbers = [12345678, 0, 1] 6 7 f = open("test", "wb") 8 w = iixr.FileWriter(f) 9 for number in numbers: 10 w.write_number(number) 11 w.close() 12 13 f = open("test", "rb") 14 r = iixr.FileReader(f) 15 for number in numbers: 16 n = r.read_number() 17 print number == n, number, n 18 r.close() 19 20 all_doc_positions = [ 21 [ 22 (123, [1, 3, 5, 15, 25]), 23 (124, [0, 100]) 24 ], 25 [ 26 (78, [9]), 27 (196, [10, 11]) 28 ] 29 ] 30 31 f = open("test", "wb") 32 w = iixr.PositionWriter(f) 33 for doc_positions in all_doc_positions: 34 for docnum, positions in doc_positions: 35 w.write_positions(docnum, positions) 36 w.reset() 37 w.close() 38 39 f = open("test", "rb") 40 r = iixr.PositionReader(f) 41 for doc_positions in all_doc_positions: 42 for docnum, positions in doc_positions: 43 d, p = r.read_positions() 44 print docnum == d, docnum, d 45 print positions == p, positions, p 46 r.reset() 47 r.close() 48 49 f = open("test", "wb") 50 w = iixr.PositionWriter(f) 51 offsets = [] 52 for doc_positions in all_doc_positions: 53 offsets.append( 54 w.write_all_positions(doc_positions) 55 ) 56 w.close() 57 58 f = open("test", "rb") 59 r = iixr.PositionReader(f) 60 offsets.reverse() 61 all_doc_positions.reverse() 62 for offset, doc_positions in zip(offsets, all_doc_positions): 63 dp = r.read_all_positions(offset) 64 print doc_positions == dp, doc_positions, dp 65 r.close() 66 67 terms = [ 68 ("aardvark", 100000123), 69 ("anteater", 100000456), 70 ("badger", 100000789), 71 ("bull", 1000001234), 72 ("bulldog", 1000002345), 73 ("cat", 1000003456) 74 ] 75 76 f = open("test", "wb") 77 w = iixr.TermWriter(f) 78 for term, offset in terms: 79 w.write_term(term, offset) 80 w.close() 81 82 f = open("test", "rb") 83 r = iixr.TermReader(f) 84 for term, offset in terms: 85 t, o = r.read_term() 86 print term == t, term, t 87 print offset == o, offset, o 88 r.close() 89 90 indexed_terms = [ 91 ("aardvark", 100000123, 200000321), 92 ("anteater", 100000456, 200000654), 93 ("badger", 100000789, 200000987), 94 ("bull", 1000001234, 200004321), 95 ("bulldog", 1000002345, 200005432), 96 ("cat", 1000003456, 200006543) 97 ] 98 99 f = open("test", "wb") 100 w = iixr.TermIndexWriter(f) 101 for term, offset, info_offset in indexed_terms: 102 w.write_term(term, offset, info_offset) 103 w.close() 104 105 f = open("test", "rb") 106 r = iixr.TermIndexReader(f) 107 for term, offset, info_offset in indexed_terms: 108 t, o, i = r.read_term() 109 print term == t, term, t 110 print offset == o, offset, o 111 print info_offset == i, info_offset, i 112 r.close() 113 114 f = open("test", "wb") 115 w = iixr.TermWriter(f) 116 f2 = open("testI", "wb") 117 w2 = iixr.TermIndexWriter(f2) 118 w3 = iixr.TermDictionaryWriter(w, w2, 3) 119 for term, offset in terms: 120 w3.write_term(term, offset) 121 w3.close() 122 123 f = open("test", "rb") 124 r = iixr.TermReader(f) 125 f2 = open("testI", "rb") 126 r2 = iixr.TermIndexReader(f2) 127 r3 = iixr.TermDictionaryReader(r, r2) 128 terms_reversed = terms[:] 129 terms_reversed.reverse() 130 for term, offset in terms_reversed: 131 o = r3.find(term) 132 print offset == o, offset, o 133 for term in ("dog", "dingo"): 134 o = r3.find(term) 135 print o is None, o 136 r3.close() 137 138 # vim: tabstop=4 expandtab shiftwidth=4