数值字段类型
下表列出了 OpenSearch 支持的所有数值字段类型。
字段数据类型 | 描述 |
---|---|
字节 (byte) | 一个有符号的 8 位整数。最小值为 -128。最大值为 127。 |
双精度浮点型 | 一个双精度 64 位 IEEE 754 浮点值。最小量级为 2−1074 。最大量级为 (2 − 2−52) · 21023。有效位数为 53。有效数字为 15.95。 |
浮点型 | 一个单精度 32 位 IEEE 754 浮点值。最小量级为 2−149 。最大量级为 (2 − 2−23) · 2127。有效位数为 24。有效数字为 7.22。 |
半浮点 (half_float) | 一个半精度 16 位 IEEE 754 浮点值。最小量级为 2−24 。最大量级为 65504。有效位数为 11。有效数字为 3.31。 |
整型 | 一个有符号的 32 位整数。最小值为 −231。最大值为 231 − 1。 |
长整型 (long) | 一个有符号的 64 位整数。最小值为 −263。最大值为 263 − 1。 |
无符号长整型 (unsigned_long) | 一个无符号的 64 位整数。最小值为 0。最大值为 264 − 1。 |
短整型 (short) | 一个有符号的 16 位整数。最小值为 −215。最大值为 215 − 1。 |
缩放浮点型 (scaled_float) | 一个浮点值,它被双精度比例因子乘以并存储为长整型值。 |
整数 (Integer)、长整型 (long)、浮点型 (float) 和双精度 (double) 字段类型具有相应的范围字段类型。
如果您的数值字段包含像 ID 这样的标识符,您可以将此字段映射为关键字 (keyword),以优化更快的词项级别查询。如果需要在此字段上使用范围查询,除了关键字字段类型外,您还可以将此字段映射为数值字段类型。
示例
创建一个映射,其中 integer_value 是一个整数字段
PUT testindex
{
"mappings" : {
"properties" : {
"integer_value" : {
"type" : "integer"
}
}
}
}
索引一个包含整数值的文档
PUT testindex/_doc/1
{
"integer_value" : 123
}
缩放浮点字段类型
缩放浮点字段类型是一个浮点值,它被比例因子乘以并存储为长整型值。它接受数值字段类型的所有可选参数,外加一个额外的 scaling_factor
参数。创建缩放浮点型时,比例因子是必需的。
缩放浮点型对于节省磁盘空间很有用。scaling_factor
值越大,精度越好,但空间开销也越大。
缩放浮点型示例
创建一个映射,其中 scaled
是一个 scaled_float 字段
PUT testindex
{
"mappings" : {
"properties" : {
"scaled" : {
"type" : "scaled_float",
"scaling_factor" : 10
}
}
}
}
索引一个包含 scaled_float 值的文档
PUT testindex/_doc/1
{
"scaled" : 2.3
}
scaled
值将存储为 23。
参数
下表列出了数值字段类型接受的参数。所有参数都是可选的。
参数 | 描述 |
---|---|
提升 | 一个浮点值,指定此字段对相关性得分的权重。高于 1.0 的值会增加字段的相关性。介于 0.0 和 1.0 之间的值会降低字段的相关性。默认值为 1.0。 |
强制转换 (coerce) | 一个布尔值,表示是否截断整数值的小数部分并将字符串转换为数值。默认值为 true 。 |
文档值 (doc_values) | 一个布尔值,指定字段是否应存储在磁盘上,以便用于聚合、排序或脚本编写。默认值为 true 。 |
忽略畸形值 (ignore_malformed) | 一个布尔值,指定是否忽略畸形值而不抛出异常。默认值为 false 。 |
索引 (index) | 一个布尔值,指定字段是否可搜索。默认值为 true 。 |
元数据 (meta) | 接受此字段的元数据。 |
空值 (null_value) | 一个用于替换 null 的值。必须与字段类型相同。如果未指定此参数,则当值为 null 时,该字段将被视为缺失。默认值为 null 。 |
存储 | 一个布尔值,指定字段值是否应存储且可与 _source 字段单独检索。默认值为 false 。 |
缩放浮点型有一个额外的必填参数:scaling_factor
。
参数 | 描述 |
---|---|
比例因子 (scaling_factor) | 一个双精度值,它与字段值相乘并四舍五入到最近的长整型。必填。 |