令牌计数字段类型
类型为 token_count
的字段实际上是 integer
(整数)字段,它接受字符串值,对其进行分析,然后索引字符串中的令牌数量。
例如
PUT my-index-000001
{
"mappings": {
"properties": {
"name": {
"type": "text",
"fields": {
"length": {
"type": "token_count",
"analyzer": "standard"
}
}
}
}
}
}
PUT my-index-000001/_doc/1
{ "name": "John Smith" }
PUT my-index-000001/_doc/2
{ "name": "Rachel Alice Williams" }
GET my-index-000001/_search
{
"query": {
"term": {
"name.length": 3
}
}
}
name
字段是text
(文本)字段,它使用默认的standard
分析器。name.length
字段是一个token_count
multi-field(多字段),它将索引name
字段中的令牌数量。- 这个查询只匹配包含
Rachel Alice Williams
的文档,因为它包含三个令牌。
token_count
字段接受以下参数
analyzer
- 应该用于分析字符串值的 analyzer(分析器)。必需。为了获得最佳性能,请使用不带令牌过滤器的分析器。
enable_position_increments
- 指示是否应计算位置增量。如果您不想计算被分析器过滤器(例如
stop
)移除的令牌,请将其设置为false
。默认为true
。 doc_values
- 字段是否应以列式存储方式存储在磁盘上,以便以后可用于排序、聚合或脚本编写?接受
true
(默认)或false
。 index
- 字段是否可搜索?接受
true
(默认)和false
。 null_value
- 接受一个与字段具有相同
type
的数值,该值将替换任何显式的null
值。默认为null
,这意味着该字段被视为缺失。 store
- 字段值是否应独立于
_source
字段存储和检索。接受true
或false
(默认)。
重要
合成 _source
通常仅适用于 TSDB 索引(index.mode
设置为 time_series
的索引)。对于其他索引,合成 _source
处于技术预览阶段。技术预览中的功能可能会在未来的版本中更改或移除。Elastic 将努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。
token_count
字段在其默认配置中支持 合成 _source
。