Field.Store.YES或者NO(存储域选项)
YES:将会存储域值,原始字符串的值会保存在索引中,以此可以进行相应的恢复操作,对于主键,标题可以是这种方式存储
NO:不会存储域值,通常与Index.ANAYLIZED合起来使用,索引一些如文章正文等不需要恢复的文档 , 此时内容无法完全还原(doc.get)
Field.Index(索引选项)
Index.ANALYZED:进行分词和索引,适用于标题、内容等
Index.NOT_ANALYZED:进行索引,但是不进行分词,如果身份证号,姓名,ID等,适用于精确搜索
Index.ANALYZED_NOT_NORMS:进行分词但是不存储norms信息,这个norms中包括了创建索引的时间和权值等信息
Index.NOT_ANALYZED_NOT_NORMS:即不进行分词也不存储norms信息
Index.NO:不进行索引
最佳实践:
索引选项 存储选项
NOT_ANALYZED_NOT_NORMS YES 标识符(主键、文件名),电话号码,身份证号,姓名,日期
ANAYLZED YES 文档标题和摘要
ANAYLZED NO 文档正文
NO YES 文档类型,数据库主键(不进行索引)
NOT_ANALYZED NO 隐藏关键字
索引文件的初步认识:
_0.fdt
_0.fdx
---存储域的值---
_0.fnm
---存储域的名称---
_0.frq
---分词出现的频率---
_0.nrm
---存储评分信息---
_0.prx
---位偏移量---
_0.tii
_0.tis
---索引信息---
文档和域的概念很重要
文档相当于表中的每一条记录,域相当于表中每一个字段