lucene中Field简析
来源:互联网 发布:罗技k260配对软件 编辑:程序博客网 时间:2024/05/20 21:22
先看一段lucene3代码
Document doc = new Document();doc.add(new Field("fullpath", f.getCanonicalPath(), Field.Store.YES, Field.Index.NOT_ANALYZED))
Field类是文档索引期间很重要的类,控制着被索引的域值
Field.Store.* 域存储选项通过倒排序索引来控制文本是否可以搜索变量名释义Index.ANALYZED使用分析器将域值分解成独立的语汇单元流,并使每个语汇单元都能被搜索,适用于普通文本域Index.NOT_ANALYZED对域进行索引,但不对String进行分析,将域值作为单一的语汇单元,适用于索引那些不能被分解的域值,如URL,文件路径,电话号码等Index.ANALYZED_NO_NORMS不会在索引中存储norms信息,norms记录了索引中的index-time boost信息,当你进行搜索时比较费内存Index.NOT_ANALYZED_NO_NORMS同上,也不存储norms信息,在搜索时减少索引空间和内存耗费Index.No 使对应的域值不被搜索Index.No使对应的域值不被搜索
Field.Index.* 域索引选项确定是否要存储域的真实值,以便后续继续搜索时能恢复这个变量名释义Stroe.YES存储域值,该情况下原始字符串全部被保存在索引中,对需要展示搜索结果的域有用,如URL,标题Stroe.NO不存储域值,通常跟Index.ANALYZED共同用来索引大的文本域值,不用恢复为初始格式
在lucene4中 ,这种写法已经不合适了
doc.add(new Field("contents", new FileReader(f), TextField.TYPE_NOT_STORED)); //索引文件内容
变量名释义TYPE_NOT_STORED索引,分词,不存储TYPE_STORED
索引,分词,存储
TextField源代码对应的定义,可以看出来,它其实包含了lucene3中域存储选项和域索引选项
static { TYPE_NOT_STORED.setIndexed(true); TYPE_NOT_STORED.setTokenized(true); TYPE_NOT_STORED.freeze(); TYPE_STORED.setIndexed(true); TYPE_STORED.setTokenized(true); TYPE_STORED.setStored(true); TYPE_STORED.freeze(); }
但是对于特殊的要求,比如路径,则不需要索引,要分类,我们就得手动去设置Field的熟悉了
FieldType fieldType = new FieldType(); fieldType.setIndexed(false);//set 是否索引 fieldType.setStored(true);//set 是否存储 fieldType.setTokenized(true);//set 是否分类doc.add(new Field("fullpath", f.getCanonicalPath(), fieldType)); //索引完整路径
- lucene中Field简析
- lucene中Field.Index,Field.Store
- lucene中Field.Index,Field.Store详解
- lucene中Field.Index,Field.Store详解
- Lucene中Field的类型
- lucene中Field类详解
- lucene中Field类详解
- lucene中Field.Index, Field.Store,Field.TermVector详解
- lucene中Field.Index, Field.Store,Field.TermVector详解
- lucene中Field.Index, Field.Store,Field.TermVector详解
- lucene中Field.Index, Field.Store,Field.TermVector详解
- lucene中Field.Index, Field.Store,Field.TermVector详解
- lucene中Field.Index,Field.Store的一些设置
- lucene中Field.Index, Field.Store…
- alfresco中加入lucene的Field统计
- lucene,Field.Index, Field.Store
- Lucene Field.Stror Field.Index
- lucene中field构造方法中的参数含义
- 从apk的raw文件夹里copy文件到手机储存(应用程序的data下)
- A nil-targeted action
- iOS公有、保护、私有成员
- 深入理解可重入与线程安全
- Ubuntu配置Apache+PHP+MySQL
- lucene中Field简析
- Hadoop 新 MapReduce 框架 Yarn 详解
- TinyXML:一个优秀的C++ XML解析器
- 多线程简单运用---时钟的实现
- 整理了一些免费的编程中文书籍
- unity3d场景导出XML或JSON并且解析还原场景
- cocos2d学习之tests实例场景切换(2)
- main.html梳理3-chatstatobj_insert
- MapReduce2.0(Yarn)