字段数据类型
编辑字段数据类型
编辑每个字段都有一个字段数据类型,或称为字段类型。此类型指示字段包含的数据种类,例如字符串或布尔值,以及其预期用途。例如,您可以将字符串索引到 text
和 keyword
字段。但是,text
字段值会进行分析以进行全文搜索,而 keyword
字符串则保持原样以进行过滤和排序。
字段类型按系列分组。同一系列中的类型具有完全相同的搜索行为,但可能具有不同的空间使用或性能特征。
目前,有两个类型系列,keyword
和 text
。其他类型系列只有一个字段类型。例如,boolean
类型系列由一个字段类型组成:boolean
。
常用类型
编辑对象和关系类型
编辑-
object
- 一个 JSON 对象。
-
flattened
- 作为单个字段值的整个 JSON 对象。
-
nested
- 保留其子字段之间关系的 JSON 对象。
-
join
- 为同一索引中的文档定义父/子关系。
-
passthrough
- 为同一级别的子字段提供别名。
结构化数据类型
编辑聚合数据类型
编辑-
aggregate_metric_double
- 预聚合的指标值。
-
histogram
- 以直方图形式预聚合的数值。
文本搜索类型
编辑-
text
字段 - 文本系列,包括
text
和match_only_text
。已分析的非结构化文本。 -
annotated-text
- 包含特殊标记的文本。用于识别命名实体。
-
completion
- 用于自动完成建议。
-
search_as_you_type
-
用于即时完成的类似
text
的类型。 -
semantic_text
- 用于执行语义搜索。
-
token_count
- 文本中标记的计数。
文档排名类型
编辑-
dense_vector
- 记录浮点值的稠密向量。
-
sparse_vector
- 记录浮点值的稀疏向量。
-
rank_feature
- 记录一个数值特征,以在查询时提升命中率。
-
rank_features
- 记录多个数值特征,以在查询时提升命中率。
空间数据类型
编辑其他类型
编辑-
percolator
- 索引用 查询 DSL 编写的查询。
数组
编辑在 Elasticsearch 中,数组不需要专门的字段数据类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值都必须具有相同的字段类型。请参阅数组。
多字段
编辑以不同的方式索引同一字段以用于不同目的通常很有用。例如,可以将 string
字段映射为用于全文搜索的 text
字段,以及用于排序或聚合的 keyword
字段。或者,您可以使用 standard
分析器、english
分析器和 french
分析器来索引文本字段。
这就是多字段的目的。大多数字段类型通过 fields
参数支持多字段。