I think my best option will just be to optimize the index after each deletion. I guess this will be good for me anyways... For the cases where optimizing is not a luxury one can afford, it would be nice if there was another way around this.
Peter > -----Original Message----- > From: Peter Kim [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 06, 2005 7:08 PM > To: java-user@lucene.apache.org > Subject: IllegalArgumentException: attempt to access a > deleted document > > Hi, > > I'm getting this error from trying to access a document in my > custom hit > collector: > > java.lang.IllegalArgumentException: attempt to access a > deleted document > at > org.apache.lucene.index.SegmentReader.document(SegmentReader.java:235 > ) > at > org.apache.lucene.index.MultiReader.document(MultiReader.java:108) > at > org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:74) > at > org.apache.lucene.search.MultiSearcher.doc(MultiSearcher.java:66) > > > Does anyone know why I'm getting this error? Shouldn't the > ids passed to > > HitCollector.collect(int id, float score) all be valid? Or > are deleted ids not ignored? > > I noticed one way to get around this is to use > IndexReader.isDeleted() to check if it's deleted or not. The > problem with that is I only have access to a MultiSearcher in > my HitCollector which doesn't give me access to the > underlying IndexReader. I don't want to have to open an > IndexReader in my custom hit collector to use its isDeleted() method. > > Anyone know any workarounds? > > Thanks! > peter > > --------------------------------------------------------------------- > 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]