私のインデックスには現在、すべてデータを含む 5 つのシャードがあります。特定のシャードでこれ以上のデータを一時的に防止したいとします。それを行う方法はありますか?
2 に答える
1
データを保存する特定のシャードを直接指定できるかどうかはわかりません。ただし、開始時に、データを格納するシャードを決定する_routing値を指定できます。これにより、elasticsearch を間接的に管理して、特定のシャードにデータを保存できます。たとえば、次のマッピングを検討してください。
{
"comment" : {
"_routing" : {
"required" : true,
"path" : "blog.post_id"
}
}
}
上記のコードは、提供された _routing パスのハッシュを取得し、ハッシュ値に応じて、格納先のシャードを選択します。したがって、最終的には、特定の投稿のすべてのコメントが同じシャードに保存されます。
人々が通常のルーティングよりもカスタム ルーティングを選択する理由、つまり、通常、特定のシャードにデータを保存する必要がある理由は、検索クエリのパフォーマンスを向上させるためです。シャードが検索を実行するルーティング値を指定できます。
データを特定のシャードにのみ保存する理由がわかりません。
これは、データを特定のシャードに保存する理由と、それを達成するためにカスタム ルーティングがどのように役立つかを説明している素敵なブログです。
于 2013-11-02T15:23:22.443 に答える