- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lucene索引的建立.
Lucene索引的建立
一、预备知识
1、Document- Field的结构,与关系型数据库相似。表—索引;记录—Document;字段—Field。
2、索引文件:一个典型的segment通常包含以下几种后缀的文件,这几种文件共同构成了lucene索引的一个segment:
.f:评分信息。
.frq:每个词条的频率信息。
.prx:每个词条的位置信息。
.fnm:包含了Document中的所有field。
.fdt:用于存储具有Store.YES属性的Field数据。和.fdx是综合使用的两个文件。
.fdx:是一个索引,用于存储Document在.fdt中的位置。
.tis:用于存储分词后的词条(Term)。
.tii:就是它的索引文件,它标明了每个.tis文件中的词条的位置。
.cfx:这个属性的含义为是否使用复合格式来保存索引。
segments: lucene对索引管理的最大单位就是segment。每个segment内的所有索引文件都具有相同的前缀。一个索引中可能有多个segment。在一个索引中,只有一个“segments”文件,这个文件没有后缀,它记录着当前的索引内有多少个segment。每个segment中,有多少个Document这样的信息。
deletable:lucene索引中,所有的文档被删除后,并不是立刻从索引中去除,而是留待下一次合并索引或是对索引进行优化时才真正删除。类似于Windows的回收站原理。这种功能是通过deletable文件实现的。所有的文档在被删除后,会首先在deletable文件中留一个记录,真正删除的时候才将索引删除。
3、索引的合并与索引的优化
public IndexWriter(Directory d, Analyzer a, boolean create)
Lucene索引的存储路径有两种类型,FSDirectory和RAMDirectory。前者与文件系统的目录有关,写索引的时候直接写到磁盘上,后者与内存相关,添加过程与前者一样,但需将它写到磁盘中,否则当虚拟机推出后,里面的内容也会随之消失。需将RAMDirectory中的索引写到FSDirectory中。
使用IndexWriter来合并索引:
(1)RAMDirectory中的索引写到FSDirectory中;
(2)遇到大量的索引文件需要进行整理,但他们存在于不同的目录中,甚至是不同的物理空间中(将一个大型网络中的每一台主机上的索引文件合并,统一存储于一个具体的目录下)。
二、代码部分
1、Field的两个静态的内部类。通过Store和Index类的组合使用,可以表示Field的所有状态。
public static final class Store extends Parameter implements Serializable
{
private Store(String name)
{super(name);}
public static final Store COMPRESS=new Store(COMPRESS);//压缩存储
public static final Store YES=new Store(YES);//被存储
public static final Store NO=new Store(NO);//不被存储
}
public static final class Index extends Parameter implements Serializable
{
private Index(String name)
{super(name);}
public static final Index NO=new Index(NO);//不索引
public static final Index TOKENIZED=new Index(TOKENIZED);//分词后索引
public static final Index UN_TOKENIZED=new Index(UN_TOKENIZED);//不分词索引
public static final Index NO_NORMS=new Index(NO_NORMS); //对field进行索引,但不使用Analyzer,同时禁止它参加评分
}
2、演示了如何为每册图书创建Document和选择合适的Field,这样就构成了索引的前提。
Document bookdoc=new Document();
Field bookNo=
new Field(bookNumber,FB309663004,Field.Store.YES,Field.Index.UN_TOKZNIZED);
Field
您可能关注的文档
最近下载
- 【同步教学】北师大版数学五年级下册第三单元《分数乘法》单元测试卷2.doc VIP
- 教学大纲_特种设备安全技术.docx VIP
- 个人简历——【标准模板】.doc VIP
- 结构加固方法介绍和选择.ppt VIP
- 【嘉世咨询-2025研报】2025中国两轮电动车行业现状报告.pdf
- 宜宾市叙州区总工会社会化工会工作者招聘笔试真题2022.docx VIP
- 大桥河幸福河湖建设规划方案研究.docx VIP
- 《机械与特种设备安全》教学大纲.pdf VIP
- 2025广东广州市工业和信息化局直属事业单位引进急需人才20人备考试题及答案解析.docx VIP
- 2023年宜宾市叙州区总工会社会化工会工作者招聘考试真题.docx VIP
文档评论(0)