OK, the reference field was not parsed.  See:

}else if(key.equals("reference") ) {
reference = value;
Field fReference = new Field("reference",value,true,true,false);
doc.add(fReference);
On another examination of my program, the delete does seem to be working. At least the delete returns a value of 1 saying it deleted one record. However the search still keeps finding the old record. I am doing an optimize after each index batch.


Unfortuately the old record is still there even after I delete it. So I deleted it and replaced it with the date in a different format to see if it was really replaced. The date field indicates I've still got the old data in there for some reason. Is data cached somewhere?

Jim.

Chris Hostetter wrote:

: anywhere.  I checked the count coming back from the delete operation and
: it is zero.  I even tried to delete another unique term with similar
: results.

First off, are you absolutely certain you are closing the reader?  it's
not in the code you listed.

Second, I'd bet $1 that when your documents were indexed, your "reference"
field was analyzed and parsed into multiple terms.  Did you try searching
for the Term you're trying to delete by?

(I hear "luke" is a pretty handy tool for checking exactly which Terms are
in your index)

: >>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);
: >>              }


-Hoss


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