数值字段类型
> 文档中心 > 文档中心 > INFINI Easysearch > 功能手册 > 文档建模 > 字段类型 > 数值字段类型

Numeric 字段类型 #

下表列出了 Easysearch 支持的所有数字字段类型。

字段数据类型描述
byte有符号的 8 位整数。最小值为 -128,最大值为 127。
double双精度 64 位 IEEE 754 浮点数。最小值为 2^−1074,最大值为 (2 − 2^−52) · 2^1023。有效位数为 53,有效数字位为 15.95。
float单精度 32 位 IEEE 754 浮点数。最小值为 2^−149,最大值为 (2 − 2^−23) · 2^127。有效位数为 24,有效数字位为 7.22。
half_float半精度 16 位 IEEE 754 浮点数。最小值为 2^−24,最大值为 65504。有效位数为 11,有效数字位为 3.31。
integer有符号的 32 位整数。最小值为 -2^31,最大值为 2^31 - 1。
long有符号的 64 位整数。最小值为 -2^63,最大值为 2^63 - 1。
unsigned_long无符号的 64 位整数。最小值为 0,最大值为 2^64 - 1。
short有符号的 16 位整数。最小值为 -2^15,最大值为 2^15 - 1。
scaled_float一个浮点值,它会被乘以双精度缩放因子并存储为长整型值。

Integer、long、float 和 double 字段类型都有对应的 范围字段类型

如果你的数字字段用来做标识符(如 ID),你可以将此字段映射为 keyword 以优化 term 查询的速度。如果你需要对此字段使用范围查询,你可以将此字段同时映射为数字字段类型和关键字字段类型。

示例 #

创建一个映射,其中 integer_value 是一个整数字段:

PUT testindex
{
  "mappings": {
    "properties": {
      "integer_value": {
        "type": "integer"
      }
    }
  }
}

写入一个`integer_value`的文档
PUT testindex/_doc/1
{
  "integer_value": 123
}

Scaled float 字段类型 #

scaled float 字段类型是一个浮点值,它会被乘以缩放因子并存储为长整型值。它接受所有数字字段类型的可选参数,还需要一个额外的 scaling_factor 参数。在创建 scaled float 需要添加缩放因子 scale factor。

scaled float 对于节省磁盘空间很有用。较大的 scaling_factor 值会带来更好的精度,但会占用更多空间。

Scaled float 示例 #

创建一个映射,其中 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。

参数 #

下表列出了数字字段类型接受的参数。所有参数都是可选的。

参数描述
boost浮点值,指定此字段的权重。值大于 1.0 会增加此字段的相关性。值在 0.0 和 1.0 之间会降低此字段的相关性。默认值为 1.0。
coerce布尔值,指定是否允许强制类型转换。如果为 true,则字符串会被强制转换为数字,并且小数会被截断为整数。默认为 true。
doc_values布尔值,指定是否应该将字段添加到列存储中。默认为 true。
ignore_malformed布尔值,指定是否应该忽略格式错误的数字。默认为 false。
index布尔值,指定字段是否应该被索引以用于搜索。默认为 true。
meta接受此字段的元数据。
null_value用于替代 null 的值。必须与字段类型相同。如果未指定此参数,当字段值为 null 时,该字段将被视为缺失。默认为 null。
store布尔值,指定字段值是否应该被存储并且可以与 _source 字段分开检索。默认为 false。

scaled float 有一个额外的必需参数:scaling_factor

参数描述
scaling_factor一个双精度值,它会被乘以字段值并四舍五入为最接近的长整型。必需参数。