>>here I'm AND-ing each bitset. Does it look ok? In principle it looks like it will work fine but the BooleanQuery approach I described may prove to be faster on large datasets because ultimately td.skipTo() will be called to avoid excessive disk reads.
Cheers Mark ----- Original Message ---- From: Konstantyn Smirnov <[EMAIL PROTECTED]> To: java-user@lucene.apache.org Sent: Friday, 12 September, 2008 15:32:29 Subject: Re: TermsFilter and MUST Hi Mark, I ended up implementing a MandatoryTermsFilter, which looks like: class MandatoryTermsFilter extends Filter { List terms BitSet bits( IndexReader reader ){ int size = reader.maxDoc() BitSet result = new BitSet( size ) BitSet andMask = new BitSet( size ) andMask.set 0, size - 1, true terms.each{ term -> result.clear() TermDocs td = reader.termDocs( term ) while( td.next() ){ result.set td.doc() } andMask &= result } return andMask } } here I'm AND-ing each bitset. Does it look ok? -- View this message in context: http://www.nabble.com/TermsFilter-and-MUST-tp19453184p19457142.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]