lucene 中的删除deleteDocuments

从昨天开始,自己又着手搞更新.好象lucene中没有很好的方法去更新.只好用deleteDocuments把它删除了.再添加进去.

不过自己按书写的代码如下:

public static boolean deletSomeField(String id) throws IOException {
  IndexReader reader = null;
 
  try {
      reader = IndexReader.open(Constants.TRAIN1DOCUMENT);

   int i = reader.deleteDocuments(new Term(Constants.TRAIN1ARR[0], id));
   System.out.println(i+"条相符合信息被删除");

   if (i > 0) {
    return true;
   }

  } catch (IOException e) {
   e.printStackTrace();
   try {
    reader.close();
   } catch (IOException e1) {
    e1.printStackTrace();
   }

  }
  try {
   reader.close();
  } catch (IOException e1) {
   e1.printStackTrace();
  }

  return false;
 }
但是只是表面的说删除.查询的时候发现没有删除.

自己想很久.也查了一些书.但是没有一个提到如何处理.

不过自己在网站查了一下..

发现也有一个朋友出现同样的问题

不过幸好遇到高手.帮了一把.

对lunece兴趣的朋友可以加我QQ:和我交流

你可能感兴趣的:(qq,Lucene)