首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Lucene Field 分析札记

2012-12-25 
Lucene Field 分析笔记????? Field 类也许是在文档索引期限间最重要的类了:该类在事实上控制着被索的域值。

Lucene Field 分析笔记

????? Field 类也许是在文档索引期限间最重要的类了:该类在事实上控制着被索的域值。当创建好一个域时,你可以指定多个域外选项来控制Lucene在将文档添加进索引后针对该域的行为。

?

?

AbstractField--->Field--->FieldForMerge--->LazyField--->NumericField

?从源代码中,可以看出Field 构造函数如下

org.apache.lucene.document.FieldField(String, boolean, String, Store, Index, TermVector)Field(String, byte[])Field(String, byte[], int, int)Field(String, byte[], int, int, Store)Field(String, byte[], Store)Field(String, Reader)Field(String, Reader, TermVector)Field(String, String, Store, Index)Field(String, String, Store, Index, TermVector)Field(String, TokenStream)Field(String, TokenStream, TermVector) 

?三个内部类Field.Index,Field.Store,Field.termVector

org.apache.lucene.document.Field.Indexpublic static final Index NO;不建立索引 public static final Index ANALYZED;分词,建索引public static final Index ANALYZED_NO_NORMS;分词,建索引(但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储 空间)public static final Index NOT_ANALYZED;不分词,建索引public static final Index NOT_ANALYZED_NO_NORMS;不分词,建索引(但是Field的值不像通常那样被保存,而是只取一个byte,这样节约存储 空间)org.apache.lucene.document.Field.Storepublic static final Store YES;保存public static final Store NO;不保存org.apache.lucene.document.Field.TermVector这个参数也不常用,它有五个选项。Field.TermVector.NO表示不索引Token的位置属性;Field.TermVector.YES则表示存储向量。Field.TermVector.WITH_OFFSETS表示额外索引Token的结束点;Field.TermVector.WITH_POSITIONS表示额外索引Token的当前位置;Field.TermVector.WITH_POSITIONS_OFFSETS表示额外索引Token的当前和结束位置;

?源码实例:

Field name=new Field("name","Leiwuluan",Store.YES,Index.NOT_ANALYZED);Field name=new Field("age","23",Store.YES,Index.NOT_ANALYZED);

?

热点排行