Lucene中重要的几个类
IndexWriter
public class IndexWriter
IndexWriter是在索引过程中中的中心组件,它不是唯一用来修饰索引的类,这个类创建一个新的索引并且添加到一个已有的索引中。
Directory
public abstract class Diretory
Directorys是抽象类,用来表示Lucene索引的位置,有以下两个实现:
- FSDirectory 表示一个储存在文件系统中的索引位置
- RAMDirectory 表示一个储存在内存中的索引位置
Analyzer
public abstract class Analyzer
Analyzer用作分词,文档在被索引前需要通过分词处理。Analyzer把分词后的内容交给IndexWriter处理。
Analyzer analyzer=new StandardAnalyzer();
StandardAnalyzer是通常使用的一种Analyzer
Document And Field
Document记录数据,Field保存了对Document的描述。Field和Document相互依存。
Document内部实现的几个方法
增、删、查等
/** 为document添加field */
public final void add(IndexableField field)
/** 删除一个field */
public final void removeField(String field)
/** 根据Field名称找出field, 如果多个Field名称一样,返回第一个 */
public final IndexableField getField(String name)
/** 返回能读懂的document内容 */
public final Sting toString()
/** 把document中的所有field移除*/
public void clear()
Field是document的一部分,每一个Field都有三部分组成:名称name,类型type,值value。目前大约有十多种功能各异的Fields: TextField,StringField,IntPoint,LongPoint,FloatPoint,DoublePoint,SortedDocValuesField,SortedSetValuesField,NumericaDocValuesField,SortedNumericDocValuesField,SotedField。