I've had success with deletion by running IndexReader.delete(int), then
getting an IndexWriter and optimizing the directory. I don't know if
that's "the right way" to do it or not.

On Tue, 1 Feb 2005, Jim Lynch wrote:

> I've been merrily cooking along, thinking I was replacing documents when
> I haven't.  My logic is to go through a batch of documents, get a field
> called "reference" which is unique build a term from it and delete it
> via the reader.delete() method.  Then I close the reader and open a
> writer and reprocess the batch indexing all.
>
> Here is the delete and associated code:
>
>               reader = IndexReader.open(database);
>
>               Term t = new Term("reference",reference);
>               try {
>                 reader.delete(t);
>               } catch (Exception e) {
>                 System.out.println("Delete exception;"+e);
>               }
>
> except it isn't working.  I tried to do a commt and a doCommit, but
> those are both protected.  I do a reader.close() after processing the
> batch the first time.
>
> What am I missing?  I don't get an exception.  Reference is definitely a
> valid field, 'cause I print out the value at search time and compare to
> the doc and they are identical.
>
> Thanks,
> Jim.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

-----------------------------------------------------------------------
Joseph B. Ottinger                             http://enigmastation.com
IT Consultant                                    [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to