`

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的名字。

3
1
分享到:
评论
1 楼 dbh0512 2013-06-20  
我建立的索引少好几个文件 是什么原因呢 .fnm,.frq,.prx,.tii,.tis

相关推荐

Global site tag (gtag.js) - Google Analytics