Lucene索引
Posted IT技术乱弹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lucene索引相关的知识,希望对你有一定的参考价值。
今天我给大家讲讲Lucene是如何索引文档的,索引文档就是把文档变成索引这种数据结构的过程。
文档是Lucene索引的基本单位,比文档更小的单位是字段,字段是文档的一部分,每个字段由名称、类型和取值组成。字段的取值一般为文本(字符串、字符流)、二进制类型和数值类型。Lucene中的字段类型主要有以下几种:
TextField:
TextField会把字段的内容索引并词条化,但是不保存词向量
StringField:
StringField只会对该字段的内容索引,但是并不词条化,也不保存词向量。
IntPoint
IntPoint适合int类型的字段。IntField是为了快速过滤的,如果需要展示出来另存一个字段。
LongPoint
LongPoint和IntPoint类似,区别在于LongPoint适合索引为长整型long类型的字段。
FloatPoint
FloatPoint和IntPoint类似,区别在于FloatPoint适应索引值为float类型的字段。
DoublePoint
DoublePoint和IntPoint类似,区别在于DoublePoint适应索引值为double类型的字段。
SortedDocValuesField
存储值为文本内容的DocValue字段,SortedDocValuesField适合索引字段值为文本内容并且按值进行排序的字段。
SortedSetDocValuesField
存储值为多值域的DocValue字段,SortedSetDocValuesField适合索引字段值为文本内容并且按值进行分组、聚合等操作的字段。
NumericDocValuesField
存储值为单个数值类型的DocValue字段,主要包括int、long、float、double。
SortedNumericDocValuesField
存储值数值类型的有序数组列表的DocValues字段。
StoredFileld
StoredFileld适合索引只需要保存字段值不进行其他操作的字段。
以上是关于Lucene索引的主要内容,如果未能解决你的问题,请参考以下文章
Lucene底层原理和优化经验分享-Lucene简介和索引原理