インデックス統計API
1つ以上のインデックスの統計を返します。データストリームの場合、APIはストリームのバックインデックスの統計を取得します。
Python
resp = client.indices.stats(
index="my-index-000001",
)
print(resp)
Ruby
response = client.indices.stats(
index: 'my-index-000001'
)
puts response
Js
const response = await client.indices.stats({
index: "my-index-000001",
});
console.log(response);
コンソール
GET /my-index-000001/_stats
リクエスト
GET /<target>/_stats/<index-metric>
GET /<target>/_stats
GET /_stats
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはエイリアスに対して
monitor
またはmanage
インデックス権限を持っている必要があります。
説明
インデックス統計APIを使用して、1つ以上のデータストリームおよびインデックスの高レベルの集約と統計を取得します。
デフォルトでは、返される統計はインデックスレベルで、primaries
およびtotal
の集約が含まれます。primaries
はプライマリシャードのみの値です。total
はプライマリシャードとレプリカシャードの両方の累積値です。
シャードレベルの統計を取得するには、level
パラメータをshards
に設定します。
別のノードに移動する際、シャードのシャードレベルの統計はクリアされます。シャードがノードの一部でなくなっても、そのノードはシャードが寄与したノードレベルの統計を保持します。
パスパラメータ
<target>
- (オプション、文字列)リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(
*
)をサポートします。すべてのデータストリームとインデックスを対象とするには、このパラメータを省略するか、*
または_all
を使用します。 <index-metric>
- (オプション、文字列)リクエストを制限するために使用されるメトリックのカンマ区切りリスト。サポートされているメトリックは次のとおりです:
_all
- すべての統計を返します。
completion
- 補完サジェスターの統計。
dense_vector
- インデックスされた密なベクトルの総数。インデックスのリフレッシュがこの統計に影響を与える可能性があります。
docs
- ドキュメントの数、まだマージされていない削除されたドキュメントの数、およびバイト単位の総サイズ。インデックスのリフレッシュがこの統計に影響を与える可能性があります。
fielddata
- フィールドデータの統計。
flush
- フラッシュの統計。
get
- 統計を取得し、欠落している統計を含めます。
indexing
- インデクシングの統計。
merge
- マージの統計。
query_cache
- クエリキャッシュの統計。
refresh
- リフレッシュの統計。
request_cache
- シャードリクエストキャッシュの統計。
search
- 検索統計、サジェスト統計を含みます。カスタムグループの統計を含めるには、追加の
groups
パラメータを追加します(検索操作は1つ以上のグループに関連付けることができます)。groups
パラメータは、カンマ区切りのグループ名のリストを受け入れます。_all
を使用してすべてのグループの統計を返します。 segments
- すべてのオープンセグメントのメモリ使用量。
include_segment_file_sizes
パラメータがtrue
の場合、このメトリックには各Luceneインデックスファイルの集約ディスク使用量が含まれます。 sparse_vector
- インデックスされたスパースベクトルの総数。
インデックスのリフレッシュがこの統計に影響を与える可能性があります。 store
- バイト単位でのインデックスのサイズ。
translog
- トランスログの統計。
クエリパラメータ
expand_wildcards
- (オプション、文字列)ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠しデータストリームに一致するかどうかを決定します。カンマ区切りの値(
open,hidden
など)をサポートします。有効な値は次のとおりです:all
- すべてのデータストリームまたはインデックスに一致します。隠しデータストリームも含まれます。隠しのもの。
open
- オープンで非隠しのインデックスに一致します。非隠しデータストリームにも一致します。
closed
- クローズされた非隠しのインデックスに一致します。非隠しデータストリームにも一致します。データストリームはクローズできません。
hidden
- 隠しデータストリームおよび隠しインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 none
- ワイルドカードパターンは受け入れられません。
デフォルトはopen
です。
fields
- (オプション、文字列)統計に含めるフィールドのカンマ区切りリストまたはワイルドカード式。
completion_fields
またはfielddata_fields
パラメータで特定のフィールドリストが提供されない限り、デフォルトリストとして使用されます。 completion_fields
- (オプション、文字列)
fielddata
およびsuggest
の統計に含めるフィールドのカンマ区切りリストまたはワイルドカード式。 fielddata_fields
- (オプション、文字列)
fielddata
の統計に含めるフィールドのカンマ区切りリストまたはワイルドカード式。 forbid_closed_indices
- (オプション、ブール値)
true
の場合、クローズされたインデックスからは統計が収集されません。デフォルトはtrue
です。 groups
- (オプション、文字列)
search
の統計に含める検索グループのカンマ区切りリスト。 level
- (オプション、文字列)統計がクラスター、インデックス、またはシャードレベルで集約されるかどうかを示します。
有効な値は次のとおりです:cluster
indices
shards
include_segment_file_sizes
- (オプション、ブール値)
true
の場合、呼び出しは各Luceneインデックスファイルの集約ディスク使用量を報告します(セグメント統計が要求されている場合のみ適用されます)。デフォルトはfalse
です。 include_unloaded_segments
- (オプション、ブール値)
true
の場合、応答にはメモリにロードされていないセグメントからの情報が含まれます。デフォルトはfalse
です。
例
複数のデータストリームとインデックスの統計を取得
Python
resp = client.indices.stats(
index="index1,index2",
)
print(resp)
Ruby
response = client.indices.stats(
index: 'index1,index2'
)
puts response
Js
const response = await client.indices.stats({
index: "index1,index2",
});
console.log(response);
コンソール
GET /index1,index2/_stats
クラスター内のすべてのデータストリームとインデックスの統計を取得
Python
resp = client.indices.stats()
print(resp)
Ruby
response = client.indices.stats
puts response
Js
const response = await client.indices.stats();
console.log(response);
コンソール
GET /_stats
特定の統計を取得
次のリクエストは、すべてのインデックスに対してmerge
およびrefresh
の統計のみを返します。
Python
resp = client.indices.stats(
metric="merge,refresh",
)
print(resp)
Ruby
response = client.indices.stats(
metric: 'merge,refresh'
)
puts response
Js
const response = await client.indices.stats({
metric: "merge,refresh",
});
console.log(response);
コンソール
GET /_stats/merge,refresh
特定の検索グループの統計を取得
次のリクエストは、group1
およびgroup2
検索グループの検索統計のみを返します。
Python
resp = client.indices.stats(
metric="search",
groups="group1,group2",
)
print(resp)
Ruby
response = client.indices.stats(
metric: 'search',
groups: 'group1,group2'
)
puts response
Js
const response = await client.indices.stats({
metric: "search",
groups: "group1,group2",
});
console.log(response);
コンソール
GET /_stats/search?groups=group1,group2