葉明的javablog

          java學習天堂,個人關于其他blog:blog.javaworker.cn,歡迎大家訪問
          posts - 64, comments - 50, trackbacks - 0, articles - 3

          Lucene(2.4.1)技術研究(3)--Document源代碼

          Posted on 2009-03-30 16:17 天空蒼茫 閱讀(1608) 評論(3)  編輯  收藏 所屬分類: java知識

          1、Document文件

          Document是lucene自己定義的一種文件格式,lucene使用docement來代替對應的物理文件或者保存在數據庫中的數據。因此Document只能作為數據源在Lucene中的數據存貯的一種文件形式。

          Document只是負責收集數據源,因為不同的文件可以構建同一個Document。只要用戶將不同的文件創建成Document類型的文件,Lucene就能快速找到查找并且使用他們。

          對于一個Document文件,可以同時增加多個Field。Lucene中對于每個數據源是使用Field類來表示的。多個Field組成一個Document,多個Document組成一個索引文件。Document與Field關系如果一所示

           

          此時,我們去看看Document這個類的源代碼。Document采用默認不帶參數的構造函數,但是我們他在創建的時間,
                  產生兩個變量:
          fields和 boost

          其中fields是創建了一個arrayList,其主要是保存Field類

          Boost主要是設置該doc的優先級

          其方法:add(Fieldable field)增加一個field對象

              removeField(String name)  根據name移除一個ield對象(找到一個就返回)

          removeFields(String name)  根據name移除所有的field對象

          Field getField(String name)  根據名字找到該Field對象。

          Fieldable getFieldable(String name)  根據名字找到Fieldable子類(Fieldable是 接口,具體有Filed來實現)

          String get(String name) 根據名字,找到給Filed對象中包含的內容

          public final byte[] getBinaryValue(String name) 主要查找Doc中包含有二進制field 數據(如果不存在,則返回null)
              public final List getFields() 直接返回該Doc中包含的Field。
              

          Feedback

          # re: Lucene(2.4.1)技術研究(3)--Document源代碼  回復  更多評論   

          2009-03-30 21:28 by 勝客
          .

          # re: Lucene(2.4.1)技術研究(3)--Document源代碼  回復  更多評論   

          2009-03-31 09:21 by 李子涵
          恩`~最近偶也在研究Lucene``想做個搜索引擎看看效果`可以共同討論一下``

          # re: Lucene(2.4.1)技術研究(3)--Document源代碼  回復  更多評論   

          2009-03-31 10:58 by lovajava_ye
          呵呵,一起學習
          主站蜘蛛池模板: 徐水县| 密山市| 南乐县| 松桃| 惠东县| 铜梁县| 腾冲县| 砚山县| 申扎县| 新龙县| 临高县| 洞头县| 黄骅市| 什邡市| 扎兰屯市| 正定县| 凤凰县| 山阳县| 淮北市| 什邡市| 巴林左旗| 新宁县| 伊通| 政和县| 台南市| 彩票| 文登市| 兴业县| 孟村| 正镶白旗| 璧山县| 云阳县| 广元市| 象州县| 江门市| 龙江县| 商城县| 依安县| 两当县| 越西县| 如东县|