Hi,
I am using the latest binary distro (lucene-20030620.jar). I am trying to
delete an entry from an index and then add it back with updated information.
The entry is a content XML piece with some metadata added to the Document. I
try to delete the entry by using a Term derived by the Field 'id' and the
value of that field. The value is correct. What happens is that two entries
exist after executing the code below.
So, creating a Query for field 'id' with an example value 'abc' will return
two hits. Any ideas what I am doing wrong? Is this a bug?
Also, if you see anything I am doing stupidly or that can be improved,
please let me know.
Thanks,
-Rob
IndexReader reader =
IndexReader.open(project.search_index_path.getNativePath());
reader.delete(new Term("id", member.content_idref));
reader.close();
ISO8601Converter iso_conv = new ISO8601Converter();
try {
IndexWriter writer = new
IndexWriter(project.search_index_path.getNativePath(), new
StandardAnalyzer(), false);
File f = new
File(project.content_path.lookup(member.content_idref.concat(".xml")).getNat
ivePath());
XMLSearchHandler hdlr = new XMLSearchHandler(f);
Document doc = hdlr.getDocument();
doc.add(Field.Text("id", member.content_idref));
doc.add(Field.Text("status", status));
doc.add(Field.Text("type", target_elem.getAttributeValue("type")));
doc.add(Field.Text("creator", target_elem.getAttributeValue("creator")));
doc.add(Field.Text("last_mod_by", member.full_name));
doc.add(Field.Text("modified",
DateField.dateToString(iso_conv.parse(target_elem.getAttributeValue("modifie
d"), new ParsePosition(0)))));
doc.add(Field.Text("created",
DateField.dateToString(iso_conv.parse(target_elem.getAttributeValue("created
"), new ParsePosition(0)))));
doc.add(Field.Text("label", label));
doc.add(Field.Text("keywords", keywords));
writer.addDocument(doc);
writer.optimize();
writer.close();
} catch (Exception e) {
...
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]