Token 计数字段类型
编辑Token 计数字段类型
编辑token_count
类型的字段实际上是一个 integer
字段,它接受字符串值,对其进行分析,然后索引字符串中的 token 数量。
例如:
resp = client.indices.create( index="my-index-000001", mappings={ "properties": { "name": { "type": "text", "fields": { "length": { "type": "token_count", "analyzer": "standard" } } } } }, ) print(resp) resp1 = client.index( index="my-index-000001", id="1", document={ "name": "John Smith" }, ) print(resp1) resp2 = client.index( index="my-index-000001", id="2", document={ "name": "Rachel Alice Williams" }, ) print(resp2) resp3 = client.search( index="my-index-000001", query={ "term": { "name.length": 3 } }, ) print(resp3)
response = client.indices.create( index: 'my-index-000001', body: { mappings: { properties: { name: { type: 'text', fields: { length: { type: 'token_count', analyzer: 'standard' } } } } } } ) puts response response = client.index( index: 'my-index-000001', id: 1, body: { name: 'John Smith' } ) puts response response = client.index( index: 'my-index-000001', id: 2, body: { name: 'Rachel Alice Williams' } ) puts response response = client.search( index: 'my-index-000001', body: { query: { term: { 'name.length' => 3 } } } ) puts response
const response = await client.indices.create({ index: "my-index-000001", mappings: { properties: { name: { type: "text", fields: { length: { type: "token_count", analyzer: "standard", }, }, }, }, }, }); console.log(response); const response1 = await client.index({ index: "my-index-000001", id: 1, document: { name: "John Smith", }, }); console.log(response1); const response2 = await client.index({ index: "my-index-000001", id: 2, document: { name: "Rachel Alice Williams", }, }); console.log(response2); const response3 = await client.search({ index: "my-index-000001", query: { term: { "name.length": 3, }, }, }); console.log(response3);
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 } } }
|
|
|
|
这个查询只会匹配包含 |
token_count
字段的参数
编辑token_count
字段接受以下参数:
应该用于分析字符串值的 分析器。必需。为了获得最佳性能,请使用不带 token 过滤器的分析器。 |
|
|
指示是否应计算位置增量。如果您不希望计算被分析器过滤器(如 |
该字段是否应以列式方式存储在磁盘上,以便以后用于排序、聚合或脚本?接受 |
|
该字段是否应可搜索?接受 |
|
接受与该字段的 |
|
该字段的值是否应该存储并可从 |
合成 _source
编辑合成 _source
通常仅适用于 TSDB 索引(index.mode
设置为 time_series
的索引)。对于其他索引,合成 _source
处于技术预览状态。技术预览中的功能可能会在未来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。
token_count
字段在其默认配置中支持 合成 _source
。