1.9.1, but the same happened in 1.0.1 when I tried it. -----Opprinnelig melding----- Fra: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] På vegne av David Pratt Sendt: 7. mars 2006 18:15 Til: [email protected] Emne: Re: SV: [pylucene-dev] Unknown filterproblem
Hi Trond. Which version is this? Regards, David Trond Aksel Myklebust wrote: > Looks like creating a new token works....but in the PorterStemFilter > it is done by token.termText = "new text", Is this a bug in PyLucene? > > Works: > > class integerFilter(object): > > def __init__(self, tokenStream): > self.input = tokenStream > > def next(self): > token = self.input.next() > if token is None: > return None > token.termText = NumberUtils.pad(int(token.termText())) > return Token(token.termText,token.startOffset(), > token.endOffset(), > token.type()) > > -----Opprinnelig melding----- > Fra: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] På vegne av Trond > Aksel Myklebust > Sendt: 7. mars 2006 15:20 > Til: [email protected] > Emne: [pylucene-dev] Unknown filterproblem > > I got an analyzer which, if the fieldname is integer, adds a "integerfilter" > to pad the number. > The problem is that though the padding is done, I am not getting the > padded number as output. > > class myAnalyzer(object): > def __init__(self): > pass > def tokenStream(self, fieldName, reader): > tokenStream = StandardFilter(StandardTokenizer(reader)) > if fieldName == "integer": > tokenStream = integerFilter(tokenStream) > print tokenStream > return tokenStream > > class integerFilter(object): > def __init__(self, tokenStream): > self.input = tokenStream > def next(self): > token = self.input.next() > if token is None: > return None > token.termText = NumberUtils.pad(int(token.termText())) > print token.termText > return token > > analyzer = myAnalyzer.myAnalyzer() > directory = FSDirectory.getDirectory(LuceneDir, False) searcher = > IndexSearcher(directory) qParser = > wrapAnalyzer(self.analyzer).queryParser(CustomQueryParser.CustomQueryP > arser( > ), defField) > print qParser.parseQuery("integer:200000") > > Output: > myAnalyzer: <Modules.Lucene.integerFilter.integerFilter object at > 0x01AA7890> > IntegerFilter: 0000200000 > qParser: integer:200000 > > As you can see the integerfilter is added, and the number is padded, > but the parser returns the number without the padding.... > Anyone who knows what is wrong? > > > _______________________________________________ > pylucene-dev mailing list > [email protected] > http://lists.osafoundation.org/mailman/listinfo/pylucene-dev > > > > > _______________________________________________ > pylucene-dev mailing list > [email protected] > http://lists.osafoundation.org/mailman/listinfo/pylucene-dev > _______________________________________________ pylucene-dev mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/pylucene-dev _______________________________________________ pylucene-dev mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
