[Zope-Checkins] CVS: Zope/lib/python/Products/PluginIndexes/TextIndexNG - TextIndexNG.py:1.2.2.31

Andreas Jung andreas@digicool.com
Wed, 13 Feb 2002 15:51:58 -0500


Update of /cvs-repository/Zope/lib/python/Products/PluginIndexes/TextIndexNG
In directory cvs.zope.org:/tmp/cvs-serv2114

Modified Files:
      Tag: ajung-textindexng-branch
	TextIndexNG.py 
Log Message:
code cleanup


=== Zope/lib/python/Products/PluginIndexes/TextIndexNG/TextIndexNG.py 1.2.2.30 => 1.2.2.31 ===
 import time
 
-
 class Timer:
 
     def __init__(self, verbose=1):
@@ -93,7 +92,7 @@
 
     _all_options = ('useSplitter','splitterMaxLen','splitterIndexNumbers',
          'splitterSingleChars','splitterCasefolding','useStemmer','useOperator',
-         'useGlobbing','lexicon','nearDistance','useSimilarity','nearSearch',
+         'useGlobbing','lexicon','nearDistance','useSimilarity',
          'stopWords','thesaurus','characterMapping'
         )
 
@@ -152,10 +151,6 @@
         # use Similarity algorithm
         self.useSimilarity  = getattr(extra,'useSimilarity',  None) or None
 
-        # Support for near search (None,'internal','documentLookup')
-        self.nearSearch   = getattr(extra,'nearSearch',  None)
-        if self.nearSearch=='None': self.nearSearch = None
-
         # default maximum distance for words with near search
         self.nearDistance  = getattr(extra,'nearDistance',  5)
 
@@ -167,10 +162,6 @@
 
         # Normalizer: characterMapping
         self.charMapping   = getattr(extra,'characterMapping', None) or None
-
-        if not self.nearSearch in (None,'internal','documentLookup'):
-            raise ValueError,'nearSearch must be either None, "internal"'\
-                             ' or "documentLookup"'
         
         if verbose: self.debugOn()
         else:       self.debugOff()
@@ -238,15 +229,6 @@
             self._v_Similarityfunc = getattr(Similarity,self.useSimilarity)
 
 
-        # near Search
-   
-        if self.nearSearch == 'internal':
-            self._v_positions = self.positionsFromInternalStorage
-            self._v_insertForwardEntry = self.insertForwardEntryInternal
-        else:
-            self._v_positions = self.positionsFromDocumentLookup
-            self._v_insertForwardEntry = self.insertForwardEntryDocumentLookup
-
         # get splitter function
 
         self._v_splitterfunc = self._v_stemmerfunc = None
@@ -310,40 +292,8 @@
             idx[documentId].update(widLst)
 
 
-    def insertForwardEntryInternal(self,wordIds,pos,documentId):
-        """ insert entries for forward index. This function stores
-            the word positions internally.
-
-            wordId is either an integer or a list of integers 
-        """
-
-        # self._IDX is a mapping:
-        # wordId -> documentId -> [positions]
-
-        idx = self._IDX
-
-        _single = 0
-        if isinstance(wordIds,IntType): 
-            wordIds = [wordIds]
-            _single = 1
-
-        for i in range(len(wordIds)):
-            wordId = wordIds[i]
-        
-            if idx.has_key(wordId) == 0:
-                idx[wordId] = IOBTree()
-
-            tree = idx[wordId] 
-            if tree.has_key(documentId) == 0:
-                tree[documentId] = IISet() 
-
-            if _single:
-                tree[documentId].insert(pos)
-            else:
-                tree[documentId].insert(i)
-
 
-    def insertForwardEntryDocumentLookup(self,wordIds,pos,documentId):
+    def insertForwardEntries(self,wordIds,documentId):
         """ insert entries for forward index. This function does not store
             word positions. Word positions are calculated when document is in the 
             hitlist.
@@ -484,7 +434,7 @@
         T("Widlist")
 
         # insert forward entries 
-        self._v_insertForwardEntry(widLst,None,documentId)  
+        self.insertForwardEntries(widLst,documentId)  
         T("ForwardEntries")
 
         # insert backward entries
@@ -613,7 +563,6 @@
             docIds.update( self._IDX.get(wid) )
 
         debug('\tDocIds: ', list(docIds.keys()))
-#        debug('\tPositions: ', list(docIds.values()))
 
         r = ResultSet( docIds, (word,))
 
@@ -877,8 +826,8 @@
                                REQUEST=None,RESPONSE=None,URL2=None):
         """ preferences of TextIndex """
 
-        for x in ('useOperator','useGlobbing','useSimilarity',\
-                    'useNearSearch','useSplitter','useStemmer'):
+        for x in ('useOperator','useGlobbing','useSimilarity',
+                    'useSplitter','useStemmer'):
 
             changed = 0