加载中

字段数据类型

每个字段都有一个字段数据类型,或者字段类型。该类型指示字段包含的数据种类(例如字符串或布尔值)及其预期用途。例如,您可以将字符串索引到 textkeyword 字段。但是,text 字段的值会被分析以进行全文搜索,而 keyword 字符串则保持不变,用于过滤和排序。

字段类型按分组。同一族内的类型具有完全相同的搜索行为,但可能具有不同的空间使用或性能特征。

目前,有两个类型族:keywordtext。其他类型族只有一个字段类型。例如,boolean 类型族包含一个字段类型:boolean

binary
编码为 Base64 字符串的二进制值。
boolean
truefalse 值。
Keywords
keyword 族,包括 keywordconstant_keywordwildcard
数字
数字类型,例如 longdouble,用于表示数量。
日期
日期类型,包括 datedate_nanos
alias
为现有字段定义别名。
object
JSON 对象。
flattened
整个 JSON 对象作为一个字段值。
nested
一个 JSON 对象,它保留其子字段之间的关系。
join
定义同一索引中文档的父/子关系。
passthrough
为同一级别的子字段提供别名。
范围
范围类型,例如 long_rangedouble_rangedate_rangeip_range
ip
IPv4 和 IPv6 地址。
version
软件版本。支持 语义版本 优先级规则。
murmur3
计算并存储值的哈希。
aggregate_metric_double
预聚合的指标值。
直方图
预聚合的数值,形式为直方图。
text 字段
text 族,包括 textmatch_only_text。经过分析的非结构化文本。
annotated-text
包含特殊标记的文本。用于识别命名实体。
[completion]
用于自动完成建议。有关完成建议器的更多信息,请参阅 建议器示例
search_as_you_type
类似于 text 的类型,用于边输入边自动完成。
semantic_text
用于执行 语义搜索
token_count
文本中的 token 计数。
dense_vector
记录浮点值的密集向量。
sparse_vector
记录浮点值的稀疏向量。
rank_feature
记录一个数字特征,用于在查询时提升命中。
rank_features
记录数字特征,用于在查询时提升命中。
geo_point
纬度和经度点。
geo_shape
复杂形状,例如多边形。
point
任意笛卡尔坐标点。
shape
任意笛卡尔几何图形。
percolator
索引用 Query DSL 编写的查询。

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

为了不同的目的,通常需要以不同的方式索引同一个字段。例如,一个 string 字段可以映射为 text 字段以进行全文搜索,也可以映射为 keyword 字段以进行排序或聚合。或者,您可以使用 standard 分析器english 分析器和 french 分析器 来索引一个文本字段。

这就是多字段的目的。大多数字段类型通过 fields 参数支持多字段。

© . This site is unofficial and not affiliated with Elasticsearch BV.