インデックスセグメントAPI

インデックスシャード内のLuceneセグメントに関する低レベルの情報を返します。データストリームの場合、APIはストリームのバックインデックスに関する情報を返します。

Python

  1. resp = client.indices.segments(
  2. index="my-index-000001",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.segments(
  2. index: 'my-index-000001'
  3. )
  4. puts response

Js

  1. const response = await client.indices.segments({
  2. index: "my-index-000001",
  3. });
  4. console.log(response);

コンソール

  1. GET /my-index-000001/_segments

リクエスト

GET /<target>/_segments

GET /_segments

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはエイリアスに対してmonitorまたはmanageインデックス特権を持っている必要があります。

パスパラメータ

  • <target>
  • (オプション、文字列)リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(*)をサポートします。すべてのデータストリームとインデックスをターゲットにするには、このパラメータを省略するか、*または_allを使用します。

クエリパラメータ

  • <vector_formats>
  • (オプション、ブール値)trueの場合、各セグメント内のフィールドによって使用されるベクトルフォーマットのリストが出力attributesに含まれます。デフォルトはfalseです。
  • allow_no_indices
  • (オプション、ブール値)falseの場合、リクエストは、ワイルドカード式、インデックスエイリアス、または_all値が欠落または閉じたインデックスのみをターゲットにする場合にエラーを返します。この動作は、リクエストが他のオープンインデックスをターゲットにしている場合でも適用されます。たとえば、foo*,bar*をターゲットにするリクエストは、fooで始まるインデックスがあるが、barで始まるインデックスがない場合にエラーを返します。デフォルトはtrueです。
  • expand_wildcards
  • (オプション、文字列)ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠れたデータストリームに一致するかどうかを決定します。カンマ区切りの値をサポートします。たとえば、open,hidden。有効な値は次のとおりです:
    • all
    • すべてのデータストリームまたはインデックスに一致します。隠れたものも含まれます[b10cb0563daae284.md#multi-hidden]。
    • open
    • オープンで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。
    • closed
    • クローズドで非隠れたインデックスに一致します。また、非隠れたデータストリームにも一致します。データストリームはクローズできません。
    • hidden
    • 隠れたデータストリームと隠れたインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンは受け付けられません。
      デフォルトはopenです。
  • ignore_unavailable
  • (オプション、ブール値)falseの場合、リクエストは欠落またはクローズされたインデックスをターゲットにする場合にエラーを返します。デフォルトはfalseです。

レスポンスボディ

  • <segment>
  • (文字列)セグメントの名前、たとえば_0。セグメント名はセグメント生成から派生し、シャードのディレクトリ内のファイル名を作成するために内部的に使用されます。
  • generation
  • (整数)生成番号、たとえば0。Elasticsearchは、書き込まれた各セグメントに対してこの生成番号をインクリメントします。Elasticsearchはこの番号を使用してセグメント名を導出します。
  • num_docs
  • (整数)Luceneによって報告されたドキュメントの数。この数には削除されたドキュメントは含まれず、ネストされたドキュメントは親から別々にカウントされます。また、最近インデックスされたドキュメントは含まれず、まだセグメントに属していません。
  • deleted_docs
  • (整数)Luceneによって報告された削除されたドキュメントの数。これは、実行した削除操作の数よりも多い場合や少ない場合があります。この数には最近実行された削除は含まれず、まだセグメントに属していません。削除されたドキュメントは、自動マージプロセスによってクリーンアップされます。さらに、Elasticsearchはシャード上の操作の最近の履歴を内部的に追跡するために追加の削除されたドキュメントを作成します。
  • size_in_bytes
  • (整数)セグメントによって使用されるディスクスペース、たとえば50kb
  • committed
  • (ブール値)trueの場合、セグメントはディスクに同期されます。同期されたセグメントはハードリブートを生き延びることができます。
    falseの場合、未コミットのセグメントからのデータもトランザクションログに保存され、Elasticsearchは次回の起動時に変更を再生できるようになります。
  • search
  • (ブール値)trueの場合、セグメントは検索可能です。
    falseの場合、セグメントはおそらくディスクに書き込まれていますが、検索可能になるにはリフレッシュが必要です。
  • version
  • (文字列)セグメントを書き込むために使用されたLuceneのバージョン。
  • compound
  • (ブール値)trueの場合、Luceneはセグメントからのすべてのファイルを単一のファイルにマージしてファイルディスクリプタを節約しました。
  • attributes
  • (オブジェクト)(i)高圧縮が有効になっているかどうか、(ii)フィールドごとのベクトルフォーマットに関する情報を含みます。

特定のデータストリームまたはインデックスのセグメント情報を取得

Python

  1. resp = client.indices.segments(
  2. index="test",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.segments(
  2. index: 'test'
  3. )
  4. puts response

Js

  1. const response = await client.indices.segments({
  2. index: "test",
  3. });
  4. console.log(response);

コンソール

  1. GET /test/_segments

複数のデータストリームとインデックスのセグメント情報を取得

Python

  1. resp = client.indices.segments(
  2. index="test1,test2",
  3. )
  4. print(resp)

Ruby

  1. response = client.indices.segments(
  2. index: 'test1,test2'
  3. )
  4. puts response

Js

  1. const response = await client.indices.segments({
  2. index: "test1,test2",
  3. });
  4. console.log(response);

コンソール

  1. GET /test1,test2/_segments

クラスター内のすべてのデータストリームとインデックスのセグメント情報を取得

Python

  1. resp = client.indices.segments()
  2. print(resp)

Ruby

  1. response = client.indices.segments
  2. puts response

Js

  1. const response = await client.indices.segments();
  2. console.log(response);

コンソール

  1. GET /_segments

APIは次のレスポンスを返します:

コンソール-レスポンス

  1. {
  2. "_shards": ...
  3. "indices": {
  4. "test": {
  5. "shards": {
  6. "0": [
  7. {
  8. "routing": {
  9. "state": "STARTED",
  10. "primary": true,
  11. "node": "zDC_RorJQCao9xf9pg3Fvw"
  12. },
  13. "num_committed_segments": 0,
  14. "num_search_segments": 1,
  15. "segments": {
  16. "_0": {
  17. "generation": 0,
  18. "num_docs": 1,
  19. "deleted_docs": 0,
  20. "size_in_bytes": 3800,
  21. "committed": false,
  22. "search": true,
  23. "version": "7.0.0",
  24. "compound": true,
  25. "attributes": {
  26. }
  27. }
  28. }
  29. }
  30. ]
  31. }
  32. }
  33. }
  34. }