Dan, Totally my bad. I had since changed it but hadn't posted it to the list coz I didn't think anyone found it useful.
Here's the correct version. I haven't really documented since it's pretty straightforward. Just holler if you need any help. Regards, Kelvin ----- Original Message ----- From: "Armbrust, Daniel C." <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, March 28, 2002 5:17 AM Subject: Chainable Filter contribution > I found this in the mailing list, and I do need something like this, as I > need to apply more than one filter at a time. I'm fairly new to lucene, > however, and my knowledge of BitSets is very limited. > > My question, if you would be so kind as to donate a minute of time to me, is > how does this combine the filters? From my nieve look through it, it seems > that all filter results would get discarded except for the last filter that > was applied. > > > Thanks, > > Dan > > > > import org.apache.lucene.index.IndexReader; > import org.apache.lucene.search.Filter; > > import java.io.IOException; > import java.util.BitSet; > > /** > * <p> > * A ChainableFilter allows multiple filters to be chained > * such that the result is the intersection of all the > * filters. > * </p> > * <p> > * Order in which filters are called depends on > * the position of the filter in the chain. It's probably > * more efficient to place the most restrictive filters > * /least computationally-intensive filters first. > * </p> > * > * @author <a href="mailto:[EMAIL PROTECTED]">Kelvin Tan</a> > */ > public class ChainableFilter extends Filter > { > /** The filter chain */ > private Filter[] chain = null; > > /** > * Creates a new ChainableFilter. > * > * @param chain The chain of filters. > */ > public ChainableFilter(Filter[] chain) > { > this.chain = chain; > } > > public BitSet bits(IndexReader reader) throws IOException > { > BitSet result = null; > for (int i = 0; i < chain.length; i++) > { > result = chain[i].bits(reader); > } > return result; > } > } > >
ChainableFilter.java
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>