日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

lucene修改索引——(六)

發(fā)布時間:2025/5/22 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lucene修改索引——(六) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原理:

  修改的原理是先刪除,后增加一個,這也是常用的一種修改的方式。

  刪除的文檔的id不會被新增加的文檔占用,類似于mysql的自增,當(dāng)刪除一個id=2時,以后id=2就是空著的,不會上來一個把2給占用。再添加是往后面增加。

?

代碼:

  刪除fileName 為 javaweb的索引,然后新增加一個索引,索引的term是fileN與fileC,值分別是"測試文件名"與"測試文件內(nèi)容"。

原來的索引結(jié)構(gòu):

?

?

執(zhí)行代碼:

// public IndexWriter getIndexWriter() throws Exception{// 第一步:創(chuàng)建一個java工程,并導(dǎo)入jar包。// 第二步:創(chuàng)建一個indexwriter對象。Directory directory = FSDirectory.open(new File("E:\\lucene&solr\\index"));// Directory directory = new RAMDirectory();//保存索引到內(nèi)存中 (內(nèi)存索引庫)Analyzer analyzer = new StandardAnalyzer();// 官方推薦IndexWriterConfig config = new IndexWriterConfig(Version.LATEST, analyzer);return new IndexWriter(directory, config);}

?

//修改 @Testpublic void testUpdate() throws Exception {IndexWriter indexWriter = getIndexWriter();Document doc = new Document();doc.add(new TextField("fileN", "測試文件名",Store.YES));doc.add(new TextField("fileC", "測試文件內(nèi)容",Store.YES));indexWriter.updateDocument(new Term("fileName","javaweb"), doc, new IKAnalyzer());indexWriter.close();}

?

?

執(zhí)行后的結(jié)構(gòu):

八個文檔,原來有十個,刪除三個增加一個變?yōu)?個。

?

?

查看文檔結(jié)構(gòu):(刪除后其文檔ID仍然保留著,因此是是一個)

?

總結(jié)

以上是生活随笔為你收集整理的lucene修改索引——(六)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。