IndexOptions类说明

IndexOptions是在lucene-core-x.jar包下面,其作用是在新建索引时候选择索引属性。

IndexOptions是一个枚举类:

 

枚举变量说明:

NONE 不被索引
DOCS_AND_FREQS 文档和词频建立索引
DOCS_AND_FREQS 仅对文档和词频建立索引
DOCS_AND_FREQS_AND_POSITIONS 文档、词频、词位置建立索引
DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS 文档、词频、词位置、偏移量建立索引

补充:位置(position)和偏移量(offset)的区别?

位置是基于词Term的,偏移量是基于字母和汉字的,如果不好理解可以参考以下图:

IndexOptions类说明_第1张图片

使用注意:

在建立索引时候会应用,选择不同的IndexOption可以较少索引所占的空间,提升查询的效率,但与之相反有些查询操作就不支持,例如:

		FieldType fieldType = new FieldType();
		fieldType.setIndexOptions(IndexOptions.DOCS_AND_FREQS);
		fieldType.setStored(true);
		fieldType.setTokenized(true);

此时由于选择的是IndexOptions.DOCS_AND_FREQS枚举类型,此时选择短语查询PhraseQuery会失效,由于没有记录POSITIONS词位置,此时无法进行短语查询。

 

你可能感兴趣的:(搜索)