Well, first you never test anything that will break the loop. TermDocs.next () does not set termdocs == null, but returns false....
I've always found it a bit confusing that calling next() doesn't skiph the first term, but you want something like this.... Term term = new Term(field, value); TermDocs termDocs = reader.termDocs(term); while (termDocs.next()) { System.out.println("Document num:" + termDocs.doc()); } Best Erick On 7/9/07, Vikas <[EMAIL PROTECTED]> wrote:
Hi Friends, Before indexing somthing I want to check whether this term is already exist in index / NOT.[i.e. primary key kind of thing]. When I am trying to get docs with indexReader.termDocs(term); it is not returning expected results. I put "TermDocs" object in while loop to print document number where I found this term; but it is always printing "0" and going in infinite loop. Where the term, I am searching is exists in index and can get it though " indexReader.terms(term);" Here is the code --> Term term = new Term( SomeDocument.KEY, value); TermDocs termDocs = indexReader.termDocs(term); while(termDocs !=null) { System.out.println("Document num:"+termDocs.doc()); termDocs.next(); } This is going in infinite loop and printing "Document num:0" always. Can some one will give me information on this? With best regards From Vikas R. Khengare