- exists_time_in_millis
命中的操作总耗时。
- missing_total
未命中的总次数。
- missing_time_in_millis
未命中的操作的总耗时。
- current
当前正在执行的个数。
5、search
查询API的统计信息,其返回示例如下:
“search” : {
“open_contexts” : 0,
“query_total” : 0,
“query_time_in_millis” : 0,
“query_current” : 0,
“fetch_total” : 0,
“fetch_time_in_millis” : 0,
“fetch_current” : 0,
“scroll_total” : 0,
“scroll_time_in_millis” : 0,
“scroll_current” : 0,
“suggest_total” : 0,
“suggest_time_in_millis” : 0,
“suggest_current” : 0
},
其返回字段说明如下:
- open_contexts
正在打开的查询上下文个数。
- query_total
查询出来的总数据条数。
- query_time_in_millis
查询阶段所耗费的时间。
- query_current
当前正在查询个数。
- fetch_total
Fetch操作的次数。
- fetch_time_in_millis
Fetch阶段总耗时时间。
- fetch_current
正在fetch的次数。
- scroll_total
通过scroll api查询数据总条数。
- scroll_time_in_millis
通过scroll api总耗时时间。
- scroll_current
当前滚动API调用次数。
- suggest_total
通过suggest api获取的推荐总数量。
- suggest_time_in_millis
suggest总耗费时间。
- suggest_current
正在执行suggest api的个数。
6、merges
合并相关的统计信息,其输出示例如下:
“merges” : {
“current” : 0,
“current_docs” : 0,
“current_size_in_bytes” : 0,
“total” : 0,
“total_time_in_millis” : 0,
“total_docs” : 0,
“total_size_in_bytes” : 0,
“total_stopped_time_in_millis” : 0,
“total_throttled_time_in_millis” : 0,
“total_auto_throttle_in_bytes” : 104857600
}
其返回字段说明如下:
- current
总发生的合并次数。
- current_docs
当前正在发生合并的文档数。
- current_size_in_bytes
当前合并参与的文档总大小,单位字节。
- total
总发生的合并次数。
- total_time_in_millis
合并的总耗时(单位毫秒)。
- total_docs
merge(合并)时总处理的文档个数。
- total_size_in_bytes
merge(合并)时总处理的文档总大小(字节)。
- total_stopped_time_in_millis
merge(合并)时总停止时间(吞吐率为0)。
- total_throttled_time_in_millis
超过指定吞吐率而暂停的时间(节流)。
- total_auto_throttle_in_bytes
自动进行流控的阔值,默认速率20m/s。
7、refresh
刷新索引相关的统计。
“refresh” : {
“total” : 15,
“total_time_in_millis” : 0,
“listeners” : 0
}
其返回字段说明如下:
- total
执行刷新的总次数。
- total_time_in_millis
执行刷新总耗时。
- listeners
等待刷新侦听器的数量。
8、flush
刷盘的统计信息。
“flush” : {
“total” : 5,
“periodic” : 0,
“total_time_in_millis” : 0
}
其返回字段说明如下:
- total
执行刷盘操作的次数。
- periodic
当translog超过刷新阈值时周期性触发的刷新次数。
- total_time_in_millis
刷盘操作总耗时时间。
9、warmer
索引分片(shard)预热统计信息,分片预热是指为索引创建一个分片节点时,是否对该索引预热(为索引创建一bitSet位图)。其统计示例如下:
“warmer” : {
“current” : 0,
“total” : 5,
“total_time_in_millis” : 0
}
其返回字段说明如下:
- current
当前正在预热的个数。
- total
总共发生的预热次数。
- total_time_in_millis
分片预热总耗时。
10、query_cache
查询缓存统计信息,其示例如下:
“query_cache” : {
“memory_size_in_bytes” : 0,
“total_count” : 0,
“hit_count” : 0,
“miss_count” : 0,
“cache_size” : 0,
“cache_count” : 0,
“evictions” : 0
}
其返回字段说明如下:
- memory_size_in_bytes
查询缓存占用的内存空间,单位为字节。
- total_count
缓存中查询的总次数,等于hit_count + miss_count。
- hit_count
查询缓存命中的次数。
- miss_count
查询缓存未命中的次数。
- cache_size
当前查询缓存中缓存文档的个数。
- cache_count
查询缓存总缓存文档个数(包含已经被换出evictions的文档个数)。
- evictions
查询缓存被逐出的总数。
11、fielddata
fielddata统计信息,fielddata主要用加快text字段排序与聚合的性能,存储词根与文档的映射关系存储在在内存,在内存中进行排序与聚合。
“fielddata” : {
“memory_size_in_bytes” : 0,
“evictions” : 0
}
其返回字段说明如下:
- memory_size_in_bytes
当前占用内存的大小。
- evictions
被逐出词根的个数。
12、completion
completion(自动填充)相关统计,其输出示例为:
“completion” : {
“size_in_bytes” : 0
},
其返回字段说明如下:
- size_in_bytes
自动提示占用字节数。
13、segments
检索打开段的内存使用情况。可选地,设置include_segment_file_size=true(默认为false),将输出每个Lucene索引文件的聚合磁盘使用情况,其返回示例如下:
“segments” : {
“count” : 32,
“memory_in_bytes” : 38078,
“terms_memory_in_bytes” : 23838,
“stored_fields_memory_in_bytes” : 9984,
“term_vectors_memory_in_bytes” : 0,
“norms_memory_in_bytes” : 2048,
“points_memory_in_bytes” : 32,
“doc_values_memory_in_bytes” : 2176,
“index_writer_memory_in_bytes” : 0,
“version_map_memory_in_bytes” : 0,
“fixed_bit_set_memory_in_bytes” : 0,
“max_unsafe_auto_id_timestamp” : -1,
“file_sizes” : { }
},
其返回字段说明如下:
- count
该索引目前拥有的总段数。
- memory_in_bytes
该索引缓存在内存中字节数。
- terms_memory_in_bytes
倒排索引(term)缓存在内中所占字节数。
- stored_fields_memory_in_bytes
该索引定义为stored_fields字段在内存中缓存的字节数。
- term_vectors_memory_in_bytes
该索引term_vectors(词向量)在内存中所占字节数量。
- norms_memory_in_bytes
该索引存储对应norms=true的字段当前在内存中缓存字节数。
- points_memory_in_bytes
与地理位置相关的缓存数据。
- doc_values_memory_in_bytes
设置为doc_values缓存在内存中的字节数(doc_values,列式存储)。
- index_writer_memory_in_bytes
用于优化索引写的缓存(减少写磁盘的频率)。
- version_map_memory_in_bytes
关于文档的版本映射所占内存大小。
- fixed_bit_set_memory_in_bytes
fixed_bit_set内存,专门用来做nested查询的。
- max_unsafe_auto_id_timestamp
es内部当前的自增ID。
- file_sizes
其中如果设置为true,则file_sizes主要包含如下统计信息:
14、translog
translog统计信息(有点类似于Innodb的redo日志),其输出示例如下:
“translog” : {
“operations” : 0,
“size_in_bytes” : 1100,
“uncommitted_operations” : 0,
“uncommitted_size_in_bytes” : 1100,
“earliest_last_modified_age” : 0
}
其返回字段说明如下:
- operations
写translog的次数(索引文档、更新文档、删除文档的总操作数量)。
- size_in_bytes
translog实例管理的translog文件总大小。(一个索引引擎(InternalEngine)示例包含一个Translog实例)。
- uncommitted_operations
当前还未提交到lucene中的操作次数(索引文档、更新文档、删除文档的操作数量)。
- uncommitted_size_in_bytes
translog中未提交到Lucene中的字节数。
- earliest_last_modified_age
以秒为单位返回translog文件中最老条目的年龄。
15、request_cache
请求缓存的统计信息,其输出示例如下:
“request_cache” : {
“memory_size_in_bytes” : 0,
“evictions” : 0,
“hit_count” : 0,
“miss_count” : 0
},
其返回字段说明如下:
- memory_size_in_bytes
请求缓存占用内存总大小。
- evictions
请求缓存被剔除出次数。
- hit_count
请求缓存被命中次数。
- miss_count
请求缓存未命中次数。
16、recovery
recovery(恢复)相关的统计信息,其输出示例:
“recovery” : {
“current_as_source” : 0,
“current_as_target” : 0,
“throttle_time_in_millis” : 0
}
其返回字段说明如下:
- current_as_source
作为源分片,正在执行恢复的分片数量 。
- current_as_target
作为目标分片,正在执行恢复的分片数量。
- throttle_time_in_millis
恢复过程总等待时间。
Indices Stats返回的结果是在索引级别的聚合,包含三个维度:primaries(所有主节点进行聚合)、total(所有主节点、副本节点进行聚合)、indices(索引级别)。
下面给出在JAVA中使用Index Stats示例来结束本篇的讲解。
ElasticSearch Index Stats JAVA示例如下:(当前elasticsearch6.4.0 High Rest Client未提供对应API的封装)
public static final void test_Indices_StatsIndex() {
TransportClient client = EsClient.getTransportClient();
try {
IndicesStatsRequest request = new IndicesStatsRequest();
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
TransportClient client = EsClient.getTransportClient();
try {
IndicesStatsRequest request = new IndicesStatsRequest();
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-L69NwCGZ-1714787156496)]
[外链图片转存中…(img-kld4pEaR-1714787156497)]
[外链图片转存中…(img-MwOCamzy-1714787156497)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!