[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