ElasticSearch的数据类型

ElasticSearch的数据类型,首先可参考官方文档:

Field data types | Elasticsearch Guide [8.2] | Elastic

从官方文档来看:

基础类型:

  • binary :编码为Base64字符串的二进制值。
  • boolean:布尔类型,true 或 false
  • keywords:关键字家族,包括关键字keyword、常量关键字constant_keyword、通配符wildcard
  • 数字类型:包括了 byte、short、integer、long、float、double、half_float、scaled_float

时间类型:包含了 date 和 date_nanos

别名类型:为现有字段定义别名。

对象和关系类型:

  • object:一个 JSON 对象
  • flattened:整个 JSON 对象作为单个字段值。
  • nested:保留其子字段之间关系的 JSON 对象。
  • join:为同一索引中的文档定义父/子关系。

结构化数据类型:

  • Range:范围类型,例如 long_range、double_range、date_range 和 ip_range。
  • ip:IPv4 and IPv6 addresses.
  • version:软件版本。支持语义版本控制优先规则。
  • murmur3:计算和存储值的哈希值。

聚合数据类型:

  • aggregate_metric_double:预先汇总的指标值。
  • histogram:直方图形式的预聚合数值。

文本搜索类型:

  • text fields:文本系列,包括 text 和 match_only_text。分析的非结构化文本。
  • annotated-text:包含特殊标记的文本。用于识别命名实体。
  • completion:用于自动完成建议。
  • search_as_you_type:键入时完成的类似文本的类型。
  • token_count:文本中标记的计数。

文档排名类型:

  • dense_vector:记录浮点值的密集向量。
  • rank_feature:记录数字特征以在查询时提高命中率。
  • rank_features:记录数字特征以在查询时提高命中率。

空间数据类型:

  • geo_point:纬度和经度点。
  • geo_shape:复杂的形状,例如多边形。
  • point:任意笛卡尔点。
  • shape:任意笛卡尔几何。

其他类型:

percolator:索引用 Query DSL 编写的查询。

数组类型:在 Elasticsearch 中,数组不需要专用的字段数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值必须是相同的字段类型。请参阅数组。

多领域:

出于不同目的以不同方式索引同一字段通常很有用(使用不同的分词器)。例如,字符串字段可以映射为全文搜索的文本字段,以及排序或聚合的关键字字段。或者,您可以使用标准分析器、英语分析器和法语分析器来索引文本字段。
这就是多领域的目的。大多数字段类型通过 fields 参数支持多字段。

字符串类型总结:text,keyword

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注