lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chhabra, Kapil" <>
Subject RE: document deletion problem
Date Wed, 19 Dec 2007 11:09:50 GMT
Hi Tushar,
If you refer to the Javadocs for IndexReader, you'll come across the
following line:

"For efficiency, in this API documents are often referred to via
document numbers, non-negative integers which each name a unique
document in the index. These document numbers are ephemeral--they may
change as documents are added to and deleted from an index. Clients
should thus not rely on a given document having the same number between

If its a single term that you are searching on, then its better to you
IndexReader's deleteDocuments(Term term)

> (initial vector size is 100 I guess).

Hope it helps.


-----Original Message-----
From: Tushar B [] 
Sent: Wednesday, December 19, 2007 3:40 PM
Subject: document deletion problem

Hello All, 

I am seeing this issue and would like to understand if its a bug or I am
missing something and doing the wrong way: 

(Note that I am doing all exception handling - but deleted the exception
handling code for sake of brevity below) 

Hits h =; // Returns 11475 documents for(int i
= 0; i < h.length(); i++) { int doc =;

The above hits Vector::ArrayIndexOutOfBoundsException when i = 6400. The
problem happens in Hits::getMoreDocs.

By the time 6400 docs are deleted, the majority is gone and
topDocs.totalHits becomes less than 6400 (In this case 5075) and finally
causes exception in the last line of Hits::hitDoc.

I just took the example numbers which occured in my case but this
happens for any hits > 200 (initial vector size is 100 I guess).

Any insight on the logic here will be very helpful (note: I have a
workaround too)


To unsubscribe, e-mail:
For additional commands, e-mail: 

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message