0

すべてのログ (約 500 GB/日) をキャプチャするために、典型的な logstash-redis-elasticsearch システムを実行しています。私の知る限り、elasticsearch はインデックス内のすべてのシャードにクエリを実行し、結果を集計しますが、1 日あたりのログの量と必要な応答時間のために、いくつかのシャードのみをクエリする必要があります。メッセージ。そのため、いくつかのタグに基づいてシャードにデータを割り当て、タグに基づいて関連するシャードのみをクエリする方法を検討しています。これを達成する方法に関するリード、リファレンス、またはソリューションはありますか?

私はすでにシャード割り当てフィルタリングを見てきましたが、それはこの特定の要件には対応していません。

4

1 に答える 1

2

ルーティングはここに行く方法です。

インデックス作成によってドキュメントが特定のシャードにルーティングされるときに、ルート オプションを指定します。インデックス API でのルーティングを参照してください。

フィールドからルーティング値を抽出することもできます。ルーティング フィールドを参照してください。

同じルーティング値で検索することを忘れないでください。検索のルーティング オプションを参照してください。

于 2013-07-03T07:06:49.160 に答える