1.1 --- a/iixr/index.py Wed Sep 30 22:02:51 2009 +0200
1.2 +++ b/iixr/index.py Thu Oct 01 00:22:35 2009 +0200
1.3 @@ -215,20 +215,23 @@
1.4
1.5 "An inverted index solution encapsulating the various components."
1.6
1.7 - def __init__(self, pathname):
1.8 + def __init__(self, pathname, interval=TERM_INTERVAL, doc_interval=DOCUMENT_INTERVAL, field_interval=FIELD_INTERVAL,
1.9 + flush_interval=FLUSH_INTERVAL):
1.10 +
1.11 self.pathname = pathname
1.12 + self.interval = interval
1.13 + self.doc_interval = doc_interval
1.14 + self.field_interval = field_interval
1.15 + self.flush_interval = flush_interval
1.16 self.reader = None
1.17 self.writer = None
1.18
1.19 - def get_writer(self, interval=TERM_INTERVAL, doc_interval=DOCUMENT_INTERVAL, flush_interval=FLUSH_INTERVAL):
1.20 + def get_writer(self):
1.21
1.22 - """
1.23 - Return a writer, optionally using the given indexing 'interval',
1.24 - 'doc_interval' and 'flush_interval'.
1.25 - """
1.26 + "Return a writer."
1.27
1.28 self._ensure_directory()
1.29 - self.writer = IndexWriter(self.pathname, interval, doc_interval, flush_interval)
1.30 + self.writer = IndexWriter(self.pathname, self.interval, self.doc_interval, self.flush_interval)
1.31 return self.writer
1.32
1.33 def _ensure_directory(self):
1.34 @@ -288,12 +291,9 @@
1.35 self._merge_terms()
1.36 self._merge_fields()
1.37
1.38 - def _merge_terms(self, interval=TERM_INTERVAL, doc_interval=DOCUMENT_INTERVAL):
1.39 + def _merge_terms(self):
1.40
1.41 - """
1.42 - Merge term dictionaries using the given indexing 'interval' and
1.43 - 'doc_interval'.
1.44 - """
1.45 + "Merge term dictionaries."
1.46
1.47 readers = []
1.48 partitions = self.get_term_partitions()
1.49 @@ -309,7 +309,7 @@
1.50 partitions.remove("merged")
1.51 partitions.add("old-merged")
1.52
1.53 - writer = get_term_writer(self.pathname, "merged", interval, doc_interval)
1.54 + writer = get_term_writer(self.pathname, "merged", self.interval, self.doc_interval)
1.55 merger = TermDictionaryMerger(writer, readers)
1.56 merger.merge()
1.57 merger.close()
1.58 @@ -324,9 +324,9 @@
1.59 if partition != "merged":
1.60 rename_term_files(self.pathname, partition, "merged")
1.61
1.62 - def _merge_fields(self, interval=FIELD_INTERVAL):
1.63 + def _merge_fields(self):
1.64
1.65 - "Merge field dictionaries using the given indexing 'interval'."
1.66 + "Merge field dictionaries."
1.67
1.68 readers = []
1.69 partitions = self.get_field_partitions()
1.70 @@ -342,7 +342,7 @@
1.71 partitions.remove("merged")
1.72 partitions.add("old-merged")
1.73
1.74 - writer = get_field_writer(self.pathname, "merged", interval)
1.75 + writer = get_field_writer(self.pathname, "merged", self.field_interval)
1.76 merger = FieldDictionaryMerger(writer, readers)
1.77 merger.merge()
1.78 merger.close()
2.1 --- a/test.py Wed Sep 30 22:02:51 2009 +0200
2.2 +++ b/test.py Thu Oct 01 00:22:35 2009 +0200
2.3 @@ -421,8 +421,8 @@
2.4 (["sea", "shore"], [(36, [6, 7])])
2.5 ]
2.6
2.7 -index = Index("test_index")
2.8 -wi = index.get_writer(3, 2, 6)
2.9 +index = Index("test_index", 3, 2, 3, 6)
2.10 +wi = index.get_writer()
2.11 for docnum, text in docs:
2.12 doc = Document(docnum)
2.13 for position, term in enumerate(text.split()):
2.14 @@ -465,8 +465,8 @@
2.15 # Test index updates.
2.16
2.17 index = Index("test_index")
2.18 -index2 = Index("test_index2")
2.19 -wi = index2.get_writer(3, 2, 6)
2.20 +index2 = Index("test_index2", 3, 2, 3, 6)
2.21 +wi = index2.get_writer()
2.22 for docnum, text in docs:
2.23
2.24 # Add the same documents but with different numbers.