/** * 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));//将文件名添加到索引域中
3、学习Lucene3.5之索引创建--域选项
最新推荐文章于 2020-04-13 00:12:41 发布