Lucene索引的建立

Lucene索引的建立需要兩種基礎的結構支持,它們分別是Document和Field,這兩個概念不能從字面意思上理解。其實Document是Field的集合,它其實主要是用來管理Field的,而Field是一種數據源,也就是要索引的東西。每個Field都有幾個重要的屬性,它們分別是:

     1 name:它是這個Field的名字。它主要是以後要搜索的時候用的,也就是要按照此名字來對此Field來檢索。
     2 value:它是Field的具體的內容。
     3 store:它表明此Field是否需要存儲,如果通過名字檢索此Field後,要顯示完整的Field的內容,那麼就要將起屬性設置爲YES。
     4 index:它表明此Field是否需要索引。它可以有四種不同的值。分別是不索引,索引並且分詞,索引不分詞,以及不使用分析器來索引。
      搞清楚了Document和Field具體是什麼後,就可以瞭解Lucene索引建立的具體過程了。索引的建立主要是有類IndexWriter來實現的,而實際上索引建立的工作是由DocumentWriter來完成的,IndexWriter主要是將索引中加入已經建立好的Document.通過DocumentWriter建立索引後,建立了如下的文件:segments,deletable,.f, .fdt,.fdx,.fnm,.frq,.prx,.tii,.tis。
    1  segments文件主要記錄了索引中有多少個segment,以及每個segment有多少個Document等信息。
    2. fdt文件主要保存了Field的內容,並且它只保存Field屬性被設置爲YES的Field。
    3 .fdx文件則記錄了Document在.fdt文件中的位置。
    4  .fnm文件記錄了此segment中所有Document的所有Field的名字。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章