Currently I am doing: do { term = te.term(); if ((term == null) || ! term.field().equals("cat")) { return; }
final BitSet bits = new BitSet(reader.maxDoc()); searcher.search(new TermQuery(new Term("cat", term.text())), new HitCollector() { public void collect(int docId, float v) { bits.set(docId); } }); cats.put(term.text(), bits); } while (te.next()); I want to replace the search by a termDocs statement that returns me a bitset. Best. On Jan 25, 2008 6:05 PM, Erick Erickson <[EMAIL PROTECTED]> wrote: > Can you show us what you've tried? > > Erick > > On Jan 25, 2008 10:49 AM, Cam Bazz <[EMAIL PROTECTED]> wrote: > > > Hello, > > > > How about getting which documents have the that term as a bitset? > > > > In other words, now that I have field=a, field=b do I use regular query > > logic to get the bitsets with hitcollector, or do can I do it with > > TermDocs() - (I could not figure it out with termdocs); > > > > Best, and thanks a lot for your help. > > > > -C.B. > > > > On Jan 25, 2008 5:31 PM, Erick Erickson <[EMAIL PROTECTED]> wrote: > > > > > Try this, where ir is an IndexReader. The trick is that starting with > "" > > > gives > > > you the entire list...... > > > > > > Note that you'll go off the end of the field sometime..... > > > > > > TermEnum theTerms = ir.terms(new Term("field", "")); > > > > > > Term term = null; > > > do { > > > term = theTerms.term(); > > > > > > if ((term == null) || ! term.field().equals("field")) { > > > return; > > > } > > > list.add(term.text()); > > > } while (theTerms.next()); > > > > > > > > > On Jan 25, 2008 10:24 AM, Cam Bazz <[EMAIL PROTECTED]> wrote: > > > > > > > Hello, > > > > > > > > How do we get the TermEnum trick? I could not figure it out. > > basically, > > > I > > > > have a field called category, and I like to learn what different > > values > > > > the > > > > category field takes. (sort of like unique in sql) > > > > > > > > Best Regards, > > > > -C.B. > > > > > > > > > >