[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)