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

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

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

    Lucene 學(xué)習(xí)第一天

    Lucene提供的服務(wù)實(shí)際包含兩部分:
         1) 寫入:將你提供的源寫入索引或者將其從索引中刪除
              寫入流程:
              (1)源字符串首先經(jīng)過analyzer處理,分成一個(gè)個(gè)單詞,去除可選(stopword)
              (2)將源中需要的信息加入Document的各個(gè)field中,并把需要索引的field索引起來,把需要存儲的
                   field存儲起來
              (3)將索引寫入存儲器,存儲器可以是內(nèi)存或者磁盤
         2) 讀出:向用戶提供全文搜索服務(wù),讓用戶通過關(guān)鍵字定位源
              讀出流程:
              (1)用戶提供搜索關(guān)鍵詞,經(jīng)過analyzer處理
              (2)對處理后的關(guān)鍵字搜索索引找出對應(yīng)的Document
              (3)用戶根據(jù)需要從找到的Docement中提取需要的Field
    概念:
             Analyzer   :分析器:把一個(gè)字符串按照某種規(guī)則劃分成一個(gè)個(gè)的詞語,并去除其中的無效詞語.
             Document :用戶提供的源是一條條記錄,它們可以是文本文件、字符串或者數(shù)據(jù)庫表的一條記錄等等。
                                一條記錄經(jīng)過索引后,就是以 一個(gè)Document的形式存儲在索引文件中。用戶進(jìn)行搜索也
                                是以Document列表的形式返回。
              field         :  一個(gè)Docuement可以包含多個(gè)信息域,這些信息域就是通過Field在Document中存儲的。它
                                有兩個(gè)屬性可以選擇:存儲和索引。
              term        :  搜索的最小單位,表示文檔的一個(gè)詞語,由兩部分組成:它表示的詞語和這個(gè)詞語出現(xiàn)的
                                 field
              tocken      :  是term的第一次出現(xiàn),它包含term文本和相應(yīng)的起止偏移以及一個(gè)類型的字符串
              segment   : (小文件)添加索引時(shí),document首先寫入不同的小文件然后再合并成一個(gè)大索引文件

    如何建立索引:

          
    IndexWriter writer = new IndexWriter(“/data/index/”, new StandardAnalyzer(), true); 
    Document doc = new Document();
    doc.add(new Field("title", "lucene introduction", Field.Store.YES, Field.Index.TOKENIZED));
    doc.add(new Field("content", "lucene works well", Field.Store.YES, Field.Index.TOKENIZED));
    writer.addDocument(doc);
    writer.optimize();
    writer.close();
         下面我們分析一下這段代碼。
                首先我們創(chuàng)建了一個(gè)writer,并指定存放索引的目錄為“/data/index”,使用的分析器為StandardAnalyzer,第三個(gè)
          參數(shù)說明如果已經(jīng)有索引文件在索引目錄下,我們將覆蓋它們。然后我們新建一個(gè)document。
              我們向document添加一個(gè)field,名字是“title”,內(nèi)容是“lucene introduction”,對它進(jìn)行存儲并索引。再添加一個(gè)名
          字是“content”的field,內(nèi)容是“lucene works well”,也是存儲并索引。然后我們將這個(gè)文檔添加到索引中,如果有多個(gè)文
          檔,可以重復(fù)上面的操作,創(chuàng)建document并添加。
                添加完所有document,我們對索引進(jìn)行優(yōu)化,優(yōu)化主要是將多個(gè)segment合并到一個(gè),有利于提高索引速度。隨后將
          writer關(guān)閉,這點(diǎn)很重要。
                如果你想把純文本文件索引起來,而不想自己將它們讀入字符串創(chuàng)建field,你可以用下面的代碼創(chuàng)建
          field: Field field = new Field("content", new FileReader(file));
          這里的file就是該文本文件。該構(gòu)造函數(shù)實(shí)際上是讀去文件內(nèi)容,并對其進(jìn)行索引,但不存儲。





    posted on 2012-09-19 17:22 Nirvana reborn 閱讀(395) 評論(0)  編輯  收藏 所屬分類: ★搜索引擎


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2012年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    我好喜歡它,
    我的 QQ 66013804 ,
    我想做技術(shù)流,可是我很懶,
    博客新地址:<a href="

    隨筆分類(19)

    文章檔案(1)

    博主鏈接

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 狠狠热精品免费观看| 黄色永久免费网站| 亚洲国产精品综合久久20| 免费在线观看a级毛片| 无码av免费一区二区三区试看| 国产.亚洲.欧洲在线| 四虎永久在线精品免费观看视频| 国产精品亚洲综合网站| 亚洲精品无码专区久久同性男| 国内精品久久久久影院免费 | 插B内射18免费视频| 久青草国产免费观看| 精品久久亚洲中文无码| 亚洲午夜AV无码专区在线播放| 又黄又爽一线毛片免费观看| 伊人久久免费视频| 99精品视频在线观看免费| 午夜亚洲国产精品福利| 亚洲AV无码一区二区三区性色| 亚洲人成高清在线播放| 亚洲色图黄色小说| 亚洲精品综合一二三区在线| 中文字幕亚洲乱码熟女一区二区| 四虎永久成人免费| 日本不卡视频免费| 日韩高清在线免费观看| 最近最好的中文字幕2019免费| 免费看男女下面日出水来| 在线免费观看亚洲| 19禁啪啪无遮挡免费网站| 全部免费毛片在线播放| 野花香高清视频在线观看免费| 99精品视频免费| 国产精品免费看久久久| 国产免费网站看v片在线| 中文字幕无线码中文字幕免费| 91视频免费观看| 免费看黄的成人APP| 免费国产99久久久香蕉| 99久久久国产精品免费牛牛 | 亚洲AV综合色一区二区三区|