lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "游泳池的鱼" <superc...@gmail.com>
Subject Re: document deletion problem
Date Wed, 19 Dec 2007 11:15:22 GMT
we can iterator hits.id(i) but can't pass reader.deleteDocument(hits.id(i));
why?


2007/12/19, Tushar B <snowhow@sbcglobal.net>:
>
> 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 = m_indexSearcher.search(q); // Returns 11475 documents
> for(int i = 0; i < h.length(); i++)
> {
> int doc = h.id(i);
> m_indexSearcher.getIndexReader().deleteDocument(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)
>
> thanks
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message