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

Andreas Jung andreas@digicool.com
Tue, 12 Feb 2002 20:41:07 -0500


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

Modified Files:
      Tag: ajung-textindexng-branch
	TextIndexNG.py 
Log Message:
renamed all 'Proximity' stuff to 'Similarity'


=== Zope/lib/python/Products/PluginIndexes/TextIndexNG/TextIndexNG.py 1.2.2.28 => 1.2.2.29 ===
 from GlobbingLexiconNG import GlobbingLexiconNG
 from Products.PluginIndexes.TextIndex import Splitter
-from ProximityLexicon import ProximityLexicon
+from SimilarityLexicon import SimilarityLexicon
 
 from types import IntType, StringType, UnicodeType, InstanceType, DictType
 from TextOperators import *
@@ -45,7 +45,7 @@
 
 from queryparser.queryparser import QueryParser
 
-import Stemmer, Proximity
+import Stemmer, Proximity as Similarity
 import Thesaurus, StopWords, Normalizer
 import TextIndexCommon
 import time
@@ -93,7 +93,7 @@
 
     _all_options = ('useSplitter','splitterMaxLen','splitterIndexNumbers',
          'splitterSingleChars','splitterCasefolding','useStemmer','useOperator',
-         'useGlobbing','lexicon','nearDistance','useProximity','nearSearch',
+         'useGlobbing','lexicon','nearDistance','useSimilarity','nearSearch',
          'stopWords','thesaurus','characterMapping'
         )
 
@@ -149,8 +149,8 @@
         # lexicon to be used (name, reference or None(internal))
         self.lexicon       = getattr(extra,'lexicon',       None) or None
 
-        # use proximity algorithm
-        self.useProximity  = getattr(extra,'useProximity',  None) or None
+        # use Similarity algorithm
+        self.useSimilarity  = getattr(extra,'useSimilarity',  None) or None
 
         # Support for near search (None,'internal','documentLookup')
         self.nearSearch   = getattr(extra,'nearSearch',  None)
@@ -224,18 +224,18 @@
             self._stopwords = StopWords.StopWords()
             
     
-        # Proximity
+        # Similarity
 
-        if self.useProximity:
-            self._PROX_LEX    = ProximityLexicon(algorithm=self.useProximity)
+        if self.useSimilarity:
+            self._PROX_LEX    = SimilarityLexicon(algorithm=self.useSimilarity)
             self._PROX_IDX    = IOBTree()
             self._invPROX_IDX = IOBTree()
 
-            # the selection of the proximity function must be more general
+            # the selection of the Similarity function must be more general
             # in the future. This requires some more work on the Python
-            # Proximity extension
+            # Similarity extension
 
-            self._v_proximityfunc = getattr(Proximity,self.useProximity)
+            self._v_Similarityfunc = getattr(Similarity,self.useSimilarity)
 
 
         # near Search
@@ -366,8 +366,8 @@
             idx[wordId].insert(documentId)
 
 
-    def insertProximityEntries(self,wordIds,documentId):
-        """ insert forward *and* backword entries for proximity indexes """
+    def insertSimilarityEntries(self,wordIds,documentId):
+        """ insert forward *and* backword entries for Similarity indexes """
 
         idx = self._PROX_IDX
         invidx = self._invPROX_IDX
@@ -449,17 +449,17 @@
         words =  filter(lambda x,f=isStopWord: f(x)==0, words)   
         T("Stopwords")
 
-        # Check if we want proximity searches. If yes, we need to create
-        # a list containing the proximity representations of the words     
+        # Check if we want Similarity searches. If yes, we need to create
+        # a list containing the Similarity representations of the words     
 
-        if self.useProximity:
-            proximity_words =  self._v_proximityfunc(words)
-            proximity_widList = self._PROX_LEX.getWordIdList(proximity_words)
-            assert len(proximity_words)==len(proximity_widList)
+        if self.useSimilarity:
+            Similarity_words =  self._v_Similarityfunc(words)
+            Similarity_widList = self._PROX_LEX.getWordIdList(Similarity_words)
+            assert len(Similarity_words)==len(Similarity_widList)
 
-            self.insertProximityEntries(proximity_widList,documentId)
+            self.insertSimilarityEntries(Similarity_widList,documentId)
        
-        T("Proximity")
+        T("Similarity")
 
         # Stem all words in one run
 
@@ -562,7 +562,7 @@
         """ to be finished """
 
         LL  = self.LexiconLookup
-        PL  = self.ProximityLookup
+        PL  = self.SimilarityLookup
         txI = self.txIntersection
         txU = self.txUnion
         txN = self.txNear
@@ -620,15 +620,15 @@
         return r
 
 
-    def ProximityLookup(self,word):
-        """ search a word in the proximity lexicon and return 
+    def SimilarityLookup(self,word):
+        """ search a word in the Similarity lexicon and return 
             a ResultSet of found documents.
         """
 
-        debug("ProximityLexionLookup: ",word)
+        debug("SimilarityLexionLookup: ",word)
 
-        if not self.useProximity:
-            raise TextIndexNGException, 'proximity search is not enabled'
+        if not self.useSimilarity:
+            raise TextIndexNGException, 'Similarity search is not enabled'
 
 
         # Lookup list of wordIds (usually should contain only *one*)
@@ -864,7 +864,7 @@
                                REQUEST=None,RESPONSE=None,URL2=None):
         """ preferences of TextIndex """
 
-        for x in ('useOperator','useGlobbing','useProximity',\
+        for x in ('useOperator','useGlobbing','useSimilarity',\
                     'useNearSearch','useSplitter','useStemmer'):
 
             changed = 0