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的名字。
分享到:
相关推荐
java创建Lucene索引
lucene索引建立[整理].pdf
Lucene创建索引,查询索引的简单使用。
主要将如何使用Lucene建立索引以及搜索进行了代码的实现,有利于初学者熟悉Lucene的基本功能。
lucene索引结构原理
Lucene3.0创建索引 读取目录下的所有txt文档格式的文件,然后生成一个索引文件到某目录下!
该程序代码属于本人2015所写,虽然尚有不足,却实现了对多个文件夹下的数据进行Lucene建立索引和查询功能,并包含了所需的所有jar包,工程直接导入即可运行。
lucene 对 xml建立索引 建立索引就是怎么简单 呵呵
Lucene创建索引步骤: 1、创建Directory(索引位置) 2、创建IndexWrite(写入索引) 3、创建Document对象 4、为Document添加Field(相当于添加属性:类似于表与字段的关系) 5、通过IndexWriter添加文档到索引中
iTextPDFExtractor.java ------ ...--PDFBox创建PDF文件的Lucene索引 PDFBoxPathIndex.java ------- --PDFBox创建指定目录PDF文档索引 POIOfficeExtractor.java ----- -- POI处理Excel和Word文档代码
一步一步跟我学习lucene是对近期做lucene索引的总结,
lucene并行索引
基于lucene技术的增量索引,实现索引的首次创建,动态增删改
在Eclipse环境中运用java,Lucene建索引及查询关键字
本源码演示了Lucene结合Sql建立索引,把Sql中的数据通过建立索引用Lucene来检索 【该源码由51aspx提供】 源码 " onerror="this.src='/images/ifnoimg.gif'" src="/uploads/allimg/090904/1039152O5-0.jpg...
用来查看lucene所建立的索引文件,0.8.1版本
结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等
lucene创建索引,查询索引的简单使用。
为了快速查询,加快查询速度,减少与数据库交互,经常需要用到lucene实现创建索引和查询
基于lucene 2.4简单的一个索引和搜索实例