葉明的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
          呵呵,一起學習
          主站蜘蛛池模板: 邵阳县| 平塘县| 丹凤县| 新民市| 朝阳区| 甘谷县| 兴和县| 滨州市| 正宁县| 剑河县| 沿河| 怀远县| 云和县| 五台县| 五莲县| 宁陕县| 巍山| 阿尔山市| 玉林市| 梁山县| 肇庆市| 亳州市| 静乐县| 中西区| 永寿县| 海宁市| 葵青区| 云霄县| 石屏县| 广平县| 泰兴市| 资兴市| 平顺县| 平陆县| 淮北市| 乐亭县| 甘谷县| 普兰县| 民乐县| 长葛市| 朝阳区|