1. IndexWriter
IndexWriter是索引过程的核心组件。这个类用于创建新的索引文件或者打开一个已经存在的索引文件,之后,它负责增加、删除、更新对应文件中的document. 你可以把它理解成这样一个对象:它提供对索引文件的"写"操作,然而你不能通过它进行"读"和"搜索"操作。IndexWriter需要一个空间以存储索引文件,这正是Directory的作用。
2. Directory
Directory类表示Lucene索引文件的位置。这是一个抽象类,它允许其子类按照适合的方式存储索引。Lucene主要提供了两种实现:FSDirectory(基于文件系统)和RAMDirectory(基于内存)。基于内存的策略更快捷,它在应用结束后即销毁索引,通常被用作单元测试。而合理的应用操作系统的IO缓存,可以弱化FSDirectory和RAMDirectory之间的性能差异。
3. Analyzer
文本被索引之前,会被传入Analyzer进行处理。 Analyzer的具体实现类在IndexWriter的构造器中指出。它负责提取需要从文本中被索引的词元,并忽略掉其它不相关的。如果需要索引的内容不是纯文本,首先需要进行转换。Analyzer是个抽象类,然而Lucene为其提供了诸多实现。其中的一些实现负责跳过停词(一些不能用于区分文档的词,如a,an,this,in,又如"的"、"吗");另一些负责处理字母的大小写变化,这样一来,搜索的时候就可以做到大小写不敏感。Analyzer是Lucene的重要组成部分,它不仅被用于简单的输入过滤。当你在应用中使用Lucene时,Analyzer的选择通常是设计之初重要的一环。
4. Document
Document用来代表域(Field)的集合。你可以把它想像成一个实际的文档,诸如一个网页、一封邮件、一个文本文档等。而Document的域(Fields)则是文档的元数据,诸如作者、标题、主题等。
注意:Lucene只处理两种类型,java.lang.String 和 java.io.Reader. 原始数据的抽取工作需要你自己完成。
5. Field
索引文件中的每个Document都包含了一个或多个Field. 每个Field由名称、对应的值及若干选项组成,这些选项用来精确地控制Lucene以何种方式索引Field中的值。
分享到:
相关推荐
Lucene是一个基于Java的全文索引工具包。 1. 基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史 2. 全文检索的实现:Luene全文索引和数据库索引的比较 3. 中文切分词机制简介:基于词库和自动切分词算法的...
基于lucene技术的增量索引,实现索引的首次创建,动态增删改
lucene 对 xml建立索引 建立索引就是怎么简单 呵呵
赠送jar包:lucene-core-7.7.0.jar; 赠送原API文档:lucene-core-7.7.0-javadoc.jar; 赠送源代码:lucene-core-7.7.0-sources.jar; 赠送Maven依赖信息文件:lucene-core-7.7.0.pom; 包含翻译后的API文档:lucene...
官网的lucene全文检索引擎工具包,下载后直接解压缩即可使用
Lucene索引器实例Lucene索引器实例Lucene索引器实例Lucene索引器实例
Lucene学习总结之一:全文检索的基本原理 Lucene学习总结之二:Lucene的总体架构 Lucene学习总结之三:Lucene的索引文件格式(1) ...Lucene学习总结之四:Lucene索引过程分析(4) www.chinaandroid.com
关于lucene的一些介绍。Lucene:基于Java的全文检索引擎简介
Lucene之删除索引 Lucene之删除索引 Lucene之删除索引 http://blog.csdn.net/nupt123456789/article/details/10666105
lucene lucene构建索引,从HelloWorld到项目具体使用 ====================项目一:=================================== qianjun.lucene.first ...1,优化及其索引库内存加载 (好像依赖上面后两个包下的类) qianju
指南-Lucene:ES篇.md
Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能. Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,...
由于林良益先生在2012之后未对IKAnalyzer进行更新,后续lucene分词接口发生变化,导致不可使用,所以此jar包支持lucene6.0以上版本
Lucene:基于Java的全文检索引擎简介.rar
Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能. Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,...
Lucene3.0创建索引 读取目录下的所有txt文档格式的文件,然后生成一个索引文件到某目录下!
Lucene创建索引,查询索引的简单使用。
深入 Lucene 索引机制深入 Lucene 索引机制深入 Lucene 索引机制深入 Lucene 索引机制深入 Lucene 索引机制深入 Lucene 索引机制