But does that not imply that a second search is made against the index by the line:
BitSet all = (new QueryFilter(q)).bits(reader) -----Original Message----- From: Kainth, Sachin [mailto:[EMAIL PROTECTED] Sent: 09 February 2007 12:05 To: java-user@lucene.apache.org Subject: RE: categorisation Ahhh it all makes sense to me now :-) -----Original Message----- From: Erik Hatcher [mailto:[EMAIL PROTECTED] Sent: 09 February 2007 12:01 To: java-user@lucene.apache.org Subject: Re: categorisation On Feb 9, 2007, at 5:40 AM, Kainth, Sachin wrote: > It makes sense to me only if you tell me that all the bits in the > BitSet "all" will be 1. well, ok, so the "all" may be misleading. call it queryBits instead then :) "all" means *all documents that match the query*, though. it wouldn't make sense to AND a bitset with one that is all 1's always. Erik > > -----Original Message----- > From: Erik Hatcher [mailto:[EMAIL PROTECTED] > Sent: 08 February 2007 18:37 > To: java-user@lucene.apache.org > Subject: Re: categorisation > > > On Feb 8, 2007, at 12:36 PM, Kainth, Sachin wrote: > >> Chris has given an example of how to perform categorisation of lucene >> searches: >> >> String[] mfgs = ...; >> String query = "+category:cameras +price:[0 to 10]"; >> Query q = QueryParser.parse(query); >> Hits results = searcher.search(q, mySort) >> BitSet all = (new QueryFilter(q)).bits(reader) >> int[] mfg_counts = new int[mfgs.length]; >> for i in (0 to mfgs.length) { >> BitSet these = (new QueryFilter(new TermQuery("mfg",mfgs >> [i]))).bits(reader); >> these.and(all) >> mfg_counts[i] = these.cardinality(); >> } >> >> What I don't understand though is what this line does: >> >> BitSet all = (new QueryFilter(q)).bits(reader) >> >> Anyone have any ideas? > > "all" is a BitSet lit up for the documents that matched "query". > "these" (the BitSet for a particular category) is .anded with "all" > to get the counts _left over_ for each category given "query". > > Make sense? > > Erik > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > This message has been scanned for viruses by MailControl - (see > http://bluepages.wsatkins.co.uk/?4318150) > > > This email and any attached files are confidential and copyright > protected. If you are not the addressee, any dissemination of this > communication is strictly prohibited. Unless otherwise expressly > agreed in writing, nothing stated in this communication shall be > legally binding. > > The ultimate parent company of the Atkins Group is WS Atkins plc. > Registered in England No. 1885586. Registered Office Woodcote Grove, > Ashley Road, Epsom, Surrey KT18 5BW. > > Consider the environment. Please don't print this e-mail unless you > really need to. > > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- 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]