3、学习Lucene3.5之索引创建--域选项

网友投稿 554 2022-11-25

3、学习Lucene3.5之索引创建--域选项

3、学习Lucene3.5之索引创建--域选项

/** * Field(String name, String value, Field.Store store, Field.Index index)方法解析: * 参数一:key * 参数二:value * 参数三:是否存储到硬盘(存储域选项) * 1.Field.Store.YES:表示把这个域中的内容完全存储到文件中,方便进行文本的还原 * 2.Field.Store.NO:表示把这个域中的内容不存储到文件中,但是可以被索引。此时内容无法进行完全 * 还原(无法通过document.get()获取) * 一般来说,我们是对id进行索引,然后通过id进数据库中进行搜索,找到对应的url,来获取文章内容, * 所以一般对id索引并存储,文章的内容进行索引,但不存储 * 参数四:索引类型(索引域选项) * 1.Field.Index.ANALYZED:进行分词和索引,适用于标题、内容等 * 2.Field.Index.NOT_ANALYZED:进行索引,但不进行分词,如果身份证号、姓名、ID等,适用于精确搜索 * 3.Field.Index.ANALYZED_NOT_NORMS:进行分词但是不存储norms信息,这个norms中包括了创建索引的时间和权值等信息 * 4.Field.Index.NOT_ANALYZED_NOT_NORMS:既不进行分词也不存储norms信息 * 5.Field.Index.NO:不进行索引 * * 存储域和索引域最佳实践: * 索引域 存储域 案例 * NOT_ANALYZED_NOT_NORMS YES 标识符(主键、文件名),电话号码,身份证号,姓名,日期 * ANALYZED YES 文档标题和摘要 * ANALYZED NO 文档正文 * NO YES 文档类型,数据库主键(不进行分词) * NOT_ANALYZED NO 隐藏关键字 */document.add(new Field("fileName", tempFile.getName(), Field.Store.YES, Field.Index.NOT_ANALYZED));//将文件名添加到索引域中

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:三、idea怎样设置Maven仓库的地址为国内镜像(比如阿里镜像)
下一篇:4、学习Lucene3.5之索引删除、更新
相关文章

 发表评论

暂时没有评论,来抢沙发吧~