<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    huangfox

    韜光隱晦
    隨筆 - 1, 文章 - 8, 評論 - 1, 引用 - 0
    數據加載中……

    有關Lucene的問題(6):Lucene的事務性【轉】

      所謂事務性,本多指數據庫的屬性,包括ACID四個基本要素:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。

      我們這里主要討論隔離性,Lucene的IndexReader和IndexWriter具有隔離性。

      當IndexReader.open打開一個索引的時候,相對于給當前索引進行了一次snapshot,此后的任何修改都不會被看到。

      僅當IndexReader.open打開一個索引后,才有可能看到從上次打開后對索引的修改。

      當IndexWriter沒有調用Commit的時候,其修改的內容是不能夠被看到的,哪怕IndexReader被重新打開。

      欲使最新的修改被看到,一方面IndexWriter需要commit,一方面IndexReader重新打開。

      下面我們舉幾個例子來說明上述隔離性:

      (1) 首先做準備,索引十篇文檔

      File indexDir = new File("TestIsolation/index");
      IndexWriter writer = new IndexWriter(FSDirectory.open(indexDir), new StandardAnalyzer(Version.LUCENE_CURRENT), true, IndexWriter.MaxFieldLength.LIMITED);
      for(int i =0; i < 10; i++){
      indexDocs(writer);
      }
      writer.close();

      (2) 然后再索引十篇文檔,并不commit

      writer = new IndexWriter(FSDirectory.open(indexDir), new StandardAnalyzer(Version.LUCENE_CURRENT), IndexWriter.MaxFieldLength.LIMITED);
      for(int i =0; i < 10; i++){
      indexDocs(writer);
      }

      (3) 打開一個IndexReader,但是由于IndexWriter沒有commit,所以仍然僅看到十篇文檔。

      IndexReader reader = IndexReader.open(FSDirectory.open(indexDir));
      IndexSearcher searcher = new IndexSearcher(reader);
      TopDocs docs = searcher.search(new TermQuery(new Term("contents","hello")), 50);
      System.out.println(docs.totalHits);

      (4) IndexWriter進行提交commit

      writer.commit();

      (5) 不重新打開IndexReader,進行搜索,仍然僅看到十篇文檔。

      docs = searcher.search(new TermQuery(new Term("contents","hello")), 50);
      System.out.println(docs.totalHits);

      (6) IndexReader重新打開,則可以看到二十篇文檔。

      reader = IndexReader.open(FSDirectory.open(indexDir));
      searcher = new IndexSearcher(reader);
      docs = searcher.search(new TermQuery(new Term("contents","hello")), 50);
      System.out.println(docs.totalHits);

    posted on 2010-09-25 16:02 fox009 閱讀(161) 評論(0)  編輯  收藏 所屬分類: 搜索引擎技術

    主站蜘蛛池模板: 亚洲AV无码男人的天堂| 亚洲天堂免费在线视频| 亚洲精品久久久久无码AV片软件| 亚洲av高清在线观看一区二区 | 三上悠亚电影全集免费| 亚洲韩国—中文字幕| 成**人免费一级毛片| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 亚洲欧洲日产国码在线观看| 免费可以在线看A∨网站| 成人精品综合免费视频| 亚洲伊人久久大香线蕉苏妲己| 久久成人免费大片| 亚洲av永久无码精品表情包| 久久免费视频精品| 亚洲国产高清视频在线观看| 永久免费AV无码国产网站| 亚洲AV无码专区在线观看成人 | 精品亚洲视频在线观看 | 国产成人无码区免费A∨视频网站| 男女一边桶一边摸一边脱视频免费| 国产美女精品久久久久久久免费| a级毛片高清免费视频| 亚洲日韩看片无码电影| 亚洲av中文无码乱人伦在线咪咕| 四虎永久在线免费观看| 成人免费观看一区二区| a毛片免费播放全部完整| 亚洲精品国产高清不卡在线| 国产综合成人亚洲区| 亚洲图片激情小说| 亚洲精品无码精品mV在线观看| 在线观看无码的免费网站| 全部免费毛片在线播放| 乱淫片免费影院观看| 亚洲国产高清国产拍精品| 亚洲综合激情六月婷婷在线观看| 自拍偷自拍亚洲精品情侣| 亚洲国产成人精品久久久国产成人一区二区三区综 | 又硬又粗又长又爽免费看 | 免费人成又黄又爽的视频在线电影|