有没有一种方法可以获取Elasticsearch群集的每个分片中的段数?
我确实研究了_cat / segments?v,但是我不确定 generation 块,因为我需要获取索引的分段总数。
答案 0 :(得分:0)
您可以使用带有分片级详细信息的Index stats API来实现
GET your_index/_stats?level=shards
您将获得:
"indices": {
"your_index": {
"primaries": {
...
},
"total": {
...
},
"shards": {
"0": [
{
...
"segments": {
"count": 4, <--- here is your information
"memory_in_bytes": 107085,
"terms_memory_in_bytes": 78808,
"stored_fields_memory_in_bytes": 1256,
"term_vectors_memory_in_bytes": 0,
"norms_memory_in_bytes": 8256,
"points_memory_in_bytes": 749,
"doc_values_memory_in_bytes": 18016,
"index_writer_memory_in_bytes": 0,
"version_map_memory_in_bytes": 0,
"fixed_bit_set_memory_in_bytes": 216,
"max_unsafe_auto_id_timestamp": -1,
"file_sizes": {}
},
或者,您也可以使用Index segments API:
GET your_index/_segments
您将获得:
"indices": {
"your_index": {
"shards": {
"0": [
{
"routing": {
"state": "STARTED",
"primary": true,
"node": "8Gql5xv_T7C8oXtPsWb4pQ"
},
"num_committed_segments": 4, <--- here is your information
"num_search_segments": 4,
"segments": {
"_15x": {
...