It must be a casing problem. See the code below. //INDEX IndexWriter wr = new IndexWriter("TempIndex", new Lucene.Net.Analysis.Standard.StandardAnalyzer(), true); Document doc = new Document(); doc.Add(new Field("field1", "12345678X", Field.Store.YES, Field.Index.TOKENIZED)); wr.AddDocument(doc); wr.Close();
//DELETE (UPPERCASE) IndexSearcher src = new IndexSearcher("TempIndex"); src.Reader.DeleteDocuments( new Term("field1","12345678X") ); src.Close(); //NUM DOCS src = new IndexSearcher("TempIndex"); Console.WriteLine(src.Reader.NumDocs().ToString() + "\n"); // <-- 1 src.Close(); //DELETE (LOWERCASE) src = new IndexSearcher("TempIndex"); src.Reader.DeleteDocuments( new Term("field1","12345678x") ); src.Close(); //NUM DOCS src = new IndexSearcher("TempIndex"); Console.WriteLine(src.Reader.NumDocs().ToString() + "\n"); // <-- 0 src.Close(); OUTPUT: 1 0 DIGY -----Original Message----- From: Gautam Lad [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 14, 2008 5:32 AM To: lucene-net-user@incubator.apache.org Subject: RE: Can't delete documents Sorry I sent an email earlier about the casing which should have been in response to this message. Anywho, as I've said I didn't realize casing had an issue. Any other suggestions? -----Original Message----- From: zoolette [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 13, 2008 5:32 PM To: lucene-net-user@incubator.apache.org Subject: Re: Can't delete documents I think, because I had the same issue, that the isbn, considering the analyzer you used, is indexed in lower case while you try to delete a value by specifying it in upper case. Seb 2008/5/13 Gautam Lad <[EMAIL PROTECTED]>: > Hi there > > I have indexed my documents using various keys, and one of the keys is an > ISBN. > > ISBNs can be all numeric or have an X at the end, (eg. 123456789X or > 1234567890) > > Each of my documents is added to an index like so: > doc.Add(New Field(key.Name, key.Value, Field.Store.YES, > Field.Index.TOKENIZED)) > Here, key.Name = "isbn" and key.value = "123456789X" > > When I delete documents I use the following piece of code: > > Public Sub DeleteSpecificKey() > Dim LReader As Index.IndexReader = > Index.IndexReader.Open(Store.FSDirectory.GetDirectory(IndexDir, False)) > Dim iResult As Integer > iResult = LReader.DeleteDocuments("isbn", "123456789X")) > LReader.Close() > End Sub > > However, since there's an "X" in the key value, it doesn't delete it. If > the value was all numeric it works fine. > What am I missing here? Everything else works fine as far as searching > goes. > Thanks, > > __________ Information from ESET NOD32 Antivirus, version of virus signature database 3097 (20080514) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com