リフレッシュAPI
リフレッシュは、1つ以上のインデックスで実行された最近の操作を検索可能にします。データストリームの場合、APIはストリームのバックインデックスでリフレッシュ操作を実行します。リフレッシュ操作の詳細については、近リアルタイム検索を参照してください。
Python
resp = client.indices.refresh(
index="my-index-000001",
)
print(resp)
Ruby
response = client.indices.refresh(
index: 'my-index-000001'
)
puts response
Js
const response = await client.indices.refresh({
index: "my-index-000001",
});
console.log(response);
コンソール
POST /my-index-000001/_refresh
リクエスト
POST <target>/_refresh
GET <target>/_refresh
POST /_refresh
GET /_refresh
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットデータストリーム、インデックス、またはエイリアスに対して
maintenance
またはmanage
インデックス特権を持っている必要があります。
説明
リフレッシュAPIを使用して、最後のリフレッシュ以降に1つ以上のインデックスで実行されたすべての操作を明示的に検索可能にします。リクエストがデータストリームをターゲットにしている場合、ストリームのバックインデックスをリフレッシュします。
デフォルトでは、Elasticsearchはインデックスを毎秒定期的にリフレッシュしますが、過去30秒以内に1回以上の検索リクエストを受け取ったインデックスのみです。このデフォルトの間隔は、index.refresh_interval
設定を使用して変更できます。
リフレッシュリクエストは同期的で、リフレッシュ操作が完了するまで応答を返しません。
リフレッシュはリソースを多く消費します。クラスターのパフォーマンスを確保するために、可能な限り明示的なリフレッシュを行うのではなく、Elasticsearchの定期的なリフレッシュを待つことをお勧めします。
アプリケーションのワークフローがドキュメントをインデックスし、その後インデックスされたドキュメントを取得するために検索を実行する場合、refresh=wait_for
のクエリパラメータオプションを使用することをお勧めします。このオプションは、インデックス操作が検索を実行する前に定期的なリフレッシュを待つことを保証します。
パスパラメータ
<target>
- (オプション、文字列) リクエストを制限するために使用されるデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカード(
*
)をサポートします。すべてのデータストリームとインデックスをターゲットにするには、このパラメータを省略するか、*
または_all
を使用します。
クエリパラメータ
allow_no_indices
- (オプション、ブール値)
false
の場合、リクエストは、ワイルドカード式、インデックスエイリアス、または_all
の値が欠落または閉じたインデックスのみをターゲットにする場合にエラーを返します。この動作は、リクエストが他のオープンインデックスをターゲットにしている場合でも適用されます。たとえば、foo*,bar*
をターゲットにするリクエストは、インデックスがfoo
で始まるがbar
で始まるインデックスがない場合にエラーを返します。
デフォルトはtrue
です。 expand_wildcards
- (オプション、文字列) ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠されたデータストリームに一致するかどうかを決定します。カンマ区切りの値(
open,hidden
など)をサポートします。有効な値は次のとおりです:all
- すべてのデータストリームまたはインデックスに一致し、隠されたものも含まれます。
open
- オープンで非隠されたインデックスに一致します。また、非隠されたデータストリームにも一致します。
closed
- 閉じた非隠されたインデックスに一致します。また、非隠されたデータストリームにも一致します。データストリームは閉じることができません。
hidden
- 隠されたデータストリームと隠されたインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 none
- ワイルドカードパターンは受け入れられません。
デフォルトはopen
です。
ignore_unavailable
- (オプション、ブール値)
false
の場合、リクエストは欠落または閉じたインデックスをターゲットにする場合にエラーを返します。デフォルトはfalse
です。
例
複数のデータストリームとインデックスをリフレッシュ
Python
resp = client.indices.refresh(
index="my-index-000001,my-index-000002",
)
print(resp)
Ruby
response = client.indices.refresh(
index: 'my-index-000001,my-index-000002'
)
puts response
Js
const response = await client.indices.refresh({
index: "my-index-000001,my-index-000002",
});
console.log(response);
コンソール
POST /my-index-000001,my-index-000002/_refresh
クラスター内のすべてのデータストリームとインデックスをリフレッシュ
Python
resp = client.indices.refresh()
print(resp)
Ruby
response = client.indices.refresh
puts response
Js
const response = await client.indices.refresh();
console.log(response);
コンソール
POST /_refresh