lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Koberg" <...@koberg.com>
Subject can't delete from an index using IndexReader.delete()
Date Fri, 20 Jun 2003 17:45:41 GMT

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: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org


Mime
View raw message