<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)  編輯  收藏 所屬分類: 搜索引擎技術

    主站蜘蛛池模板: 亚洲美女视频一区二区三区| 国产亚洲精品美女久久久| 亚洲人成免费电影| 日本阿v免费费视频完整版| 久久精品国产亚洲77777| 在线日本高清免费不卡| 亚洲神级电影国语版| 亚洲啪啪免费视频| 亚洲AV综合色区无码二区爱AV| 免费不卡视频一卡二卡| 麻豆狠色伊人亚洲综合网站| 国产精品视频永久免费播放| 亚洲精品宾馆在线精品酒店| 日韩电影免费在线| 一区免费在线观看| 亚洲va无码专区国产乱码| 久久精品一本到99热免费| 亚洲一区二区免费视频| 免费无码又爽又刺激高潮的视频| 女bbbbxxxx另类亚洲| 国产AV无码专区亚洲AV漫画 | 亚洲Av永久无码精品黑人| 国产无遮挡裸体免费视频| 一边摸一边桶一边脱免费视频| 亚洲色欲久久久综合网| 99久久99热精品免费观看国产| 亚洲人成网站看在线播放| 日本免费电影一区| 国产免费拔擦拔擦8X高清在线人 | 国产成人精品久久亚洲| 日韩免费在线视频| 亚洲色大成网站www尤物| 亚洲成?Ⅴ人在线观看无码| 国产免费一区二区三区在线观看| 亚洲白嫩在线观看| 亚洲成av人在片观看| 最近中文字幕免费2019| 精品在线观看免费| 久久亚洲精品无码aⅴ大香| 啊灬啊灬别停啊灬用力啊免费看| 国产三级在线免费|