每个字段都有字段数据类型或字段类型。 此类型说明字段中包含的数据类型(如strings和boolean )及其用途。 例如,可以将strings索引到文本字段和keyword字段。 但是,文本字段的值将被分析以进行全文搜索,而keyword字符串将保留下来进行过滤和排序。
字段类型按家庭分组。 同一家庭类型支持相同的搜索功能,但空间的使用方式和性能特性可能不同。
目前唯一类型的家庭是keyword,由keyword、constant_keyword和通配符字段类型组成。 其他类型的家庭只有一种字段类型。 例如,布尔型家庭包含名为boolean的字段类型。
常规类型binary :编码为base64字符串的二进制值。
布尔型: true和false。
关键字家族,包括keywords:keyword、constant_keyword和wildcard。
numbers:long或double等数值类型。 用于表示金额。
dates :包含date和date_nanos的日期类型。
alias :定义现有字段的别名。
对象和关系类型object :JSON object。
flattened :将整个JSON对象设置为单个字段值。
nested :保存子字段之间关系的JSON对象。
连接:定义同一索引中文档的父子关系。
结构化数据类型Range :范围类型。 例如,long_range、double_range、date_range、ip_range等。
IP:IP v4和IPv6地址。
版本:软件版本。 支持语义版本优先规则。
murmur3:计算并保存哈希值。
聚合数据类型aggregate_metric_double :预聚合的度量值。
histogram :作为直方图预先收集的数值。
文本查询类型text :已分析的非结构化文本。
未注释文本:包含特殊标记的文本。 标识命名实体。
完成:用于自动完成建议。
search_as_you_type :键入文本,使其在输入时完成。
token_count :文本中的标记数。
文档排序类型dense_vector :记录浮点值的密集向量。
sparse_vector :记录浮点值的稀疏向量。
rank_feature :记录数值特性,以提高查询时的命中率。
rank_features :记录数值特性以提高查询时的命中率。
空间数据类型geo_point :纬度和经度点。
geo_shape :复杂的形状,如多边形。
point :明亮的水壶的要点。
形状:明亮的水壶几何图形。
ArraysElasticSearch不要求数组具有专用的字段数据类型。 默认情况下,任何字段都可以包含0个或更多值,但数组中的所有值必须属于同一字段类型。
多字段有助于为每个目的以不同的方式索引相同的字段。 例如,string字段可以映射到全文文本字段,也可以映射到排序或聚合keyword字段。 此外,还可以使用标准分析器、英语分析器和法语分析器索引文本字段。
这就是多场的目的。 大多数字段类型在fields参数中支持多个字段