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

Andreas Jung andreas@digicool.com
Tue, 12 Mar 2002 19:01:17 -0500


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

Modified Files:
      Tag: ajung-textindexng-branch
	TextIndexNG.py 
Log Message:
fixed broken similarity search


=== Zope/lib/python/Products/PluginIndexes/TextIndexNG/TextIndexNG.py 1.2.2.53 => 1.2.2.54 ===
 from GlobbingLexiconNG import GlobbingLexiconNG
 from Products.PluginIndexes.TextIndex import Splitter
-from SimilarityLexicon import SimilarityLexicon
 
 from types import IntType, StringType, UnicodeType, InstanceType, DictType, ListType
 from TextIndexCommon import *
@@ -245,16 +244,10 @@
         # Similarity
 
         if self.useSimilarity:
-            self._similarity_lexicon  = SimilarityLexicon(algorithm=self.useSimilarity)
+            self._similarity_lexicon  = LexiconNG()
             self.SimilarityWordDocStorage = WordIdDocumentIdStorage()
-
-            # the selection of the Similarity function must be more general
-            # in the future. This requires some more work on the Python
-            # Similarity extension
-
             self._v_Similarityfunc = getattr(Similarity,self.useSimilarity)
 
-
         if self.lexicon:
 
             # try to get lexicon through acquisition
@@ -365,9 +358,8 @@
         if self.useSimilarity:
             Similarity_words =  self._v_Similarityfunc(words)
             Similarity_widList = self._similarity_lexicon.getWordIdList(Similarity_words)
-            assert len(Similarity_words)==len(Similarity_widList)
 
-            self.SimilarityWordDocStorage(Similarity_widList, documentId)
+            self.SimilarityWordDocStorage.insert(Similarity_widList, documentId)
        
         T("Similarity")
 
@@ -534,7 +526,8 @@
             raise TextIndexNGException, 'Similarity search is not enabled'
 
         # Lookup list of wordIds (usually should contain only *one*)
-        wids = self._SIMILARITY_LEXICON.get(word)
+        word  =  self._v_Similarityfunc(word)
+        wids = self._similarity_lexicon.get(word)
         debug("\tWids: ", wids)
 
         # Retrieve list of docIds for that wordId 
@@ -545,7 +538,7 @@
 
         docIds = IISet()
         for wid in wids:
-            docIds.update ( self._SIMILARITY_INDEX.get(wid) )
+            docIds.update ( self.SimilarityWordDocStorage.get(wid) )
 
         debug('\tDocIds: ', docIds)