title: Deleting document by Term from lucene
body: <p>The following code does not delete the document by Term as expected:</p>
  
  <pre><code>        RAMDirectory idx     = new RAMDirectory();
          IndexWriter writer  = new IndexWriter(idx,
                                     new SnowballAnalyzer(Version.LUCENE_30, "English"),
                                     IndexWriter.MaxFieldLength.LIMITED);
          Document doc = new Document();
          doc.add(new Field("title", "mydoc", Field.Store.YES, Field.Index.NO));
          doc.add(new Field("content", "some content, deleteme", Field.Store.YES, Field.Inde
  x.ANALYZED));
          writer.addDocument(doc);
          Document doc2 = new Document();        
          doc2.add(new Field("title", "mydoc2", Field.Store.YES, Field.Index.NO));
          doc2.add(new Field("content", "other content, don't deleteme", Field.Store.YES, Field.I
  ndex.ANALYZED));
          writer.addDocument(doc2);
          writer.optimize();
          writer.close();
  
          /*
          IndexReader reader = IndexReader.open(idx, false);
          int docs_up_for_deletion = reader.docFreq(new Term("title"));
          int before = reader.numDocs();
          int docs_deleted = reader.deleteDocuments(new Term("title", "mydoc"));
          reader.close();
          */
  
          IndexWriter writer2  = new IndexWriter(idx,
                                     new SnowballAnalyzer(Version.LUCENE_30, "English"),
                                     IndexWriter.MaxFieldLength.LIMITED);
          int before = writer2.numDocs();
          writer2.deleteDocuments(new Term("title", "mydoc"));
          writer2.commit();
          writer2.optimize();
          int after = writer2.numDocs();
          writer2.close();
          int docs_deleted = before - after;
  </code></pre>
  
  <p>I've tried deleting with the IndexReader and IndexWriter and neither works.</p>
  
  <p>I've also tried adding another IndexReader search after the above code just in case the number only gets updated after closing writer2 (mentioned in <a href="http://wiki.apache.org/lucene-java/LuceneFAQ#How_do_I_delete_documents_from_the_index.3F" rel="nofollow noreferrer">this FAQ</a>), but that doesn't help. Doing a writer.deleteAll() works, just not the delete by Term.</p>
  
  <p>I found an old reference to the fact that only fields of type Field.Keyword can be deleted, but this is no longer a valid field type in Lucene 3.x</p>