I am able to delete now the Index using the following if(indexDir.exists())
{ IndexReader reader = IndexReader.open( indexDir ); uidIter = reader.terms(new Term("id", "")); while (uidIter.term() != null && uidIter.term().field() == "id") { reader.delete(uidIter.term()); uidIter.next(); } reader.close(); } where "id" is the keyword field. But here also all the documents are deleted. How can I modify my code and delete particular document with given id Iam creating the index in the following way Document doc = new Document(); doc.add(Field.Text("text",text)); doc.add(Field.Keyword("id",Long.toString(id))); doc.add(Field.Keyword("title",title)); doc.add(Field.Keyword("keywords",keywords)); doc.add(Field.Keyword("type",type)); writer.addDocument(doc); ----- Original Message ----- From: "Chuck Williams" <[EMAIL PROTECTED]> To: "Lucene Users List" <[EMAIL PROTECTED]> Sent: Wednesday, November 24, 2004 1:06 PM Subject: RE: modifying existing index A good way to do this is to add a keyword field with whatever unique id you have for the document. Then you can delete the term containing a unique id to delete the document from the index (look at IndexReader.delete(Term)). You can look at the demo class IndexHTML to see how it does incremental indexing for an example. Chuck > -----Original Message-----> From: Santosh [mailto:[EMAIL PROTECTED]> Sent: Tuesday, November 23, 2004 11:34 PM> To: Lucene Users List> Subject: Re: modifying existing index> > I have gon through IndexReader , I got method : delete(int> docNum) ,> but from where I will get document number? Is this predifined? or we> have> to give a number prior to indexing?> ----- Original Message -----> From: "Luke Francl" <[EMAIL PROTECTED]>> To: "Lucene Users List" <[EMAIL PROTECTED]>> Sent: Wednesday, November 24, 2004 1:26 AM> Subject: Re: modifying existing index> > > > On Tue, 2004-11-23 at 13:59, Santosh wrote:> > > I am using lucene for indexing, when I am creating Index the> docuemnts> are added. but when I want to modify the single existing document and> reIndex again, it is taking as new document and adding one more time, so> that I am getting same document twice in the results.> > > To overcome this I am deleting existing Index and again recreating> whole> Index. but is it possibe to index the modified document again and> overwrite> existing document without deleting and recreation. can I do this? If so> how?> >> > You do not need to recreate the whole index. Just mark the document as> > deleted using the IndexReader and then add it again with the> > IndexWriter. Remember to close your IndexReader and IndexWriter after> > doing this.> >> > The deleted document will be removed the next time you optimize your> > index.> >> > Luke Francl> >> >> > ---------------------------------------------------------------------> > 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] --------------------------------------------------------------------- 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]