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

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

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

    Lucene 學習第一天

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

    如何建立索引:

          
    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();
         下面我們分析一下這段代碼。
                首先我們創建了一個writer,并指定存放索引的目錄為“/data/index”,使用的分析器為StandardAnalyzer,第三個
          參數說明如果已經有索引文件在索引目錄下,我們將覆蓋它們。然后我們新建一個document。
              我們向document添加一個field,名字是“title”,內容是“lucene introduction”,對它進行存儲并索引。再添加一個名
          字是“content”的field,內容是“lucene works well”,也是存儲并索引。然后我們將這個文檔添加到索引中,如果有多個文
          檔,可以重復上面的操作,創建document并添加。
                添加完所有document,我們對索引進行優化,優化主要是將多個segment合并到一個,有利于提高索引速度。隨后將
          writer關閉,這點很重要。
                如果你想把純文本文件索引起來,而不想自己將它們讀入字符串創建field,你可以用下面的代碼創建
          field: Field field = new Field("content", new FileReader(file));
          這里的file就是該文本文件。該構造函數實際上是讀去文件內容,并對其進行索引,但不存儲。





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


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


    網站導航:
     
    <2012年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    統計

    公告

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

    隨筆分類(19)

    文章檔案(1)

    博主鏈接

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 亚洲视频在线精品| 亚洲国产综合无码一区二区二三区 | 成人免费视频一区二区三区| 亚洲黄色在线观看| 免费看片在线观看| 亚洲综合在线一区二区三区 | 四虎永久免费网站免费观看| 亚洲成a人无码亚洲成www牛牛| 成人免费无码精品国产电影| 人妻巨大乳hd免费看| 亚洲自偷自偷偷色无码中文| 免费看少妇高潮成人片| 亚洲AV成人无码久久精品老人| 99在线免费观看视频| 亚洲国产成人精品青青草原| 夜夜爽免费888视频| 男女啪啪免费体验区| 亚洲国产精品无码专区在线观看 | 亚洲毛片无码专区亚洲乱| 中文字幕无码不卡免费视频| 亚洲大码熟女在线观看| 亚洲综合激情另类专区| 久久99青青精品免费观看| 亚洲日本乱码一区二区在线二产线 | 精品亚洲AV无码一区二区| 女人张开腿等男人桶免费视频| 国产偷国产偷亚洲高清人 | 1区1区3区4区产品亚洲| 国产三级在线观看免费| 特级毛片全部免费播放a一级| 国产亚洲精品成人a v小说| 69视频免费观看l| 福利片免费一区二区三区| 亚洲va无码va在线va天堂| 久草视频免费在线观看| 免费观看又污又黄在线观看| 久久亚洲AV无码精品色午夜麻| 成人免费无码大片A毛片抽搐| 中文字幕乱理片免费完整的| 麻豆狠色伊人亚洲综合网站| 亚洲精品网站在线观看不卡无广告|