字段使用统计信息 API
编辑字段使用统计信息 API编辑
此功能处于技术预览阶段,在未来版本中可能会更改或删除。Elastic 将致力于修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。
返回索引的每个分片和字段的字段使用信息。当查询在集群上运行时,会自动捕获字段使用统计信息。分片级搜索请求访问给定字段(即使在该请求期间多次访问),也会被计为单次使用。
response = client.indices.field_usage_stats( index: 'my-index-000001' ) puts response
GET /my-index-000001/_field_usage_stats
请求编辑
GET /<index>/_field_usage_stats
路径参数编辑
-
<index>
- (可选,字符串)用于限制请求的索引名称的逗号分隔列表或通配符表达式。
查询参数编辑
-
allow_no_indices
- (可选,布尔值)如果为
false
,则当任何通配符表达式、索引别名或_all
值仅针对丢失或关闭的索引时,请求将返回错误。即使请求针对其他打开的索引,此行为也适用。例如,如果请求针对foo*,bar*
,则当某个索引以foo
开头,但没有索引以bar
开头时,将返回错误。 -
expand_wildcards
-
(可选,字符串)通配符模式可以匹配的索引类型。如果请求可以针对数据流,则此参数决定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如
open,hidden
。有效值为-
all
- 匹配任何数据流或索引,包括隐藏的数据流或索引。
-
open
- 匹配打开的、非隐藏索引。还匹配任何非隐藏数据流。
-
closed
- 匹配关闭的、非隐藏索引。还匹配任何非隐藏数据流。数据流无法关闭。
-
hidden
- 匹配隐藏的数据流和隐藏的索引。必须与
open
、closed
或两者结合使用。 -
none
- 不接受通配符模式。
-
-
ignore_unavailable
- (可选,布尔值)如果为
false
,则当请求针对丢失或关闭的索引时,请求将返回错误。默认为false
。 -
wait_for_active_shards
-
(可选,字符串)在继续操作之前必须处于活动状态的分片副本数。设置为
all
或索引中分片的任何正整数(number_of_replicas+1
)。默认值:1,主分片。参见 活动分片。
-
master_timeout
- (可选,时间单位)等待主节点的时间段。如果主节点在超时之前不可用,请求失败并返回错误。默认为
30s
。还可以设置为-1
以指示请求永远不会超时。 -
timeout
- (可选,时间单位)等待响应的时间段。如果在超时之前未收到响应,请求失败并返回错误。默认为
30s
。 -
fields
-
(可选,字符串)要包含在统计数据中的字段的逗号分隔列表或通配符表达式。
响应正文编辑
响应正文报告支持索引中字段的数据结构的每个分片使用计数。给定请求将使每个计数最多增加 1,即使请求多次访问同一字段也是如此。
-
any
- (整数)表示对字段的任何类型的使用(例如,通过倒排索引、存储的字段、文档值等),以便对给定的搜索请求进行一次计数。
-
inverted_index
-
(对象)倒排索引由
index
映射参数启用,并通过设置字段的index_options
进行配置。inverted_index
的属性-
terms
- (整数)表示倒排索引中词项的使用情况,回答“是否使用了此字段的倒排索引?”的问题。
-
postings
- (整数)表示包含给定词项的文档 ID 的发布列表的使用情况。
-
proximity
- (整数)表示在倒排索引中对位置、偏移量或有效负载的任何类型的使用,以便对给定的搜索请求进行一次计数。
-
positions
- (整数)表示倒排索引中位置数据(词项的顺序)的使用情况。
-
term_frequencies
- (整数)表示倒排索引中词项频率的使用情况,用于计算得分。
-
offsets
- (整数)表示倒排索引中偏移量的使用情况,用于存储词项的起始和结束字符偏移量。
-
payloads
- (整数)表示倒排索引中有效负载的使用情况,例如通过 分隔有效负载标记过滤器 或用户定义的分析组件和插件。
-
-
stored_fields
- (整数)表示存储的字段的使用情况。这些字段通过
store
映射选项启用,并通过指定stored_fields
查询选项进行访问。请注意,_source
和_id
字段默认存储,并且在此处计算其使用情况。 -
doc_values
- (整数)表示文档值的使用,主要用于排序和聚合。这些值通过
doc_values
映射参数启用。 -
points
- (整数)表示使用 Lucene PointValues,它是大多数数字字段数据类型的基础,包括空间数据类型、数字、日期等。查询/聚合使用这些值进行范围、计数、分区、最小值/最大值、直方图、空间等。
-
norms
- (整数)表示规范的使用,其中包含用于评分的索引时间提升值。
-
term_vectors
- (整数)表示词向量的使用,允许在搜索时检索文档的词语。用法包括高亮显示和类似查询。
-
knn_vectors
- (整数)表示knn_vectors字段类型的使用,主要用于k 近邻 (kNN) 搜索。
示例编辑
以下请求检索索引 my-index-000001
在当前可用分片上的字段使用信息。
response = client.indices.field_usage_stats( index: 'my-index-000001' ) puts response
GET /my-index-000001/_field_usage_stats
API 返回以下响应
{ "_shards": { "total": 1, "successful": 1, "failed": 0 }, "my-index-000001": { "shards": [ { "tracking_id": "MpOl0QlTQ4SYYhEe6KgJoQ", "tracking_started_at_millis": 1625558985010, "routing": { "state": "STARTED", "primary": true, "node": "gA6KeeVzQkGURFCUyV-e8Q", "relocating_node": null }, "stats" : { "all_fields": { "any": "6", "inverted_index": { "terms" : 1, "postings" : 1, "proximity" : 1, "positions" : 0, "term_frequencies" : 1, "offsets" : 0, "payloads" : 0 }, "stored_fields" : 2, "doc_values" : 1, "points" : 0, "norms" : 1, "term_vectors" : 0, "knn_vectors" : 0 }, "fields": { "_id": { "any" : 1, "inverted_index": { "terms" : 1, "postings" : 1, "proximity" : 1, "positions" : 0, "term_frequencies" : 1, "offsets" : 0, "payloads" : 0 }, "stored_fields" : 1, "doc_values" : 0, "points" : 0, "norms" : 0, "term_vectors" : 0, "knn_vectors" : 0 }, "_source": {...}, "context": {...}, "message.keyword": {...} } } } ] } }