字段使用统计 API
编辑字段使用统计 API
编辑此功能处于技术预览阶段,可能会在未来的版本中更改或删除。Elastic 会努力修复任何问题,但技术预览版中的功能不受正式 GA 功能的支持 SLA 约束。
返回索引的每个分片和字段的字段使用信息。当查询在集群上运行时,会自动捕获字段使用统计信息。访问给定字段的分片级搜索请求,即使在该请求期间多次访问,也只会被计为一次使用。
resp = client.indices.field_usage_stats( index="my-index-000001", ) print(resp)
response = client.indices.field_usage_stats( index: 'my-index-000001' ) puts response
const response = await client.indices.fieldUsageStats({ index: "my-index-000001", }); console.log(response);
GET /my-index-000001/_field_usage_stats
请求
编辑GET /<索引>/_field_usage_stats
路径参数
编辑-
<索引>
- (可选,字符串) 用于限制请求的索引名称的逗号分隔列表或通配符表达式。
查询参数
编辑-
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
,表示仅等待每个主分片处于活动状态。请参阅活动分片。
-
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
- (整数) 表示 norms 的使用情况,其中包含用于评分的索引时提升值。
-
term_vectors
- (整数) 表示 词项向量 的使用情况,允许在搜索时检索文档的词项。使用场景包括高亮显示和More Like This 查询。
-
knn_vectors
- (整数) 表示 knn_vectors 字段类型的使用情况,主要用于k 最近邻 (kNN) 搜索。
示例
编辑以下请求检索当前可用分片上索引 my-index-000001
的字段使用信息。
resp = client.indices.field_usage_stats( index="my-index-000001", ) print(resp)
response = client.indices.field_usage_stats( index: 'my-index-000001' ) puts response
const response = await client.indices.fieldUsageStats({ index: "my-index-000001", }); console.log(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": {...} } } } ] } }