Thanks.  I will restore that code and try to figure out why
it broke :)  (Because my alternative solution was way uglier.)

Marie-H�l�ne Forget wrote:

Hi,

I confirm to you that delete( hits.id( i ) ) is ok.

Hits.id( int ) returns the docnum that you need.

MHF :)

On Mon, 2003-06-09 at 12:11, Bruce Cota wrote:


I need to delete all the documents from an index that
satisfy a BooleanQuery.

The only methods I can find (in IndexReader) for deleting
a document are delete(Term) and delete(int).

I tried searching on my Query using IndexSearcher.search(),
iterating over each document in the returned Hits,
and then iterating over Hits deleting each document like this:

for (int i=0; i<hits.length(); +++i) {
   ireader.delete(hits.id(i));
}

Hoping here that the value returned by
Hits.id(int) is the "docnum" expected in
IndexReader.delete(int)

But the call to delete throws an IOException.

So, is there any way I can delete all the documents from
an Index that satisfy a general Query?

Thank you for any advice.

Bruce Cota,
Unicon, Inc.



---------------------------------------------------------------------
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]






Reply via email to