国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Lucene中update及delete的實現

2019-11-18 11:19:38
字體:
來源:轉載
供稿:網友

delete很簡單。只要在add記錄的時候把它產生的index保存然后建立另外的索引。然后用IndexReader類中的delete()方法進行刪除即可。delete有兩個實現方式:delete(int i)和delete(Term term)
對于第一個不用說,把記錄的index給它就可以。第二個實現方式需要創建一個Term對象。
Term t=new Term("id","idValue");
這里的id是你加入記錄中的字段,idValue是字段的內容.下面是具體實現方法:
public int deleteRecords(String field, String text) {
    int delete = 0;
    try {
      Directory directory = FSDirectory.getDirectory(file, false);
      Term term = new Term(field, text);
      IndexReader reader = IndexReader.open(directory);
      reader.unlock(directory); //這里記得要先解鎖
      delete = reader.delete(term);
      reader.close();  //記得關閉,否則刪除不會被同步到索引文件中
      directory.close(); //關閉目錄
    }
    catch (IOException ex) {
      ex.PRintStackTrace();
    }
    return delete;
  }

接下來是update的實現.目前lUCene的版本不支持直接update.必須根據你加入的索引id找出對象的記錄先delete后在add進去.
或許還有更好的方法吧,我覺得只要remove掉一個字段,在加進去這個字段應該就可以了.不過這種方法我還沒有試過.理論上應該可以.嘿嘿

假如需要轉載,請注明出處和作者。謝謝
QQ:221704
MSN:flyly@yeah.net
EMAIL:zhangfl@sports.cn



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 铁岭市| 梅河口市| 云林县| 信丰县| 唐海县| 晋宁县| 西乡县| 咸阳市| 丰镇市| 休宁县| 临猗县| 伊吾县| 辽中县| 合阳县| 二连浩特市| 阿坝县| 神农架林区| 东兴市| 调兵山市| 柘城县| 盖州市| 武清区| 孝感市| 富平县| 巴楚县| 阿合奇县| 荆门市| 天祝| 沾益县| 德兴市| 农安县| 沙洋县| 东兰县| 金门县| 罗平县| 浦北县| 禹城市| 高要市| 江安县| 金门县|