私はElasticsearch docを読んでいます。私はElasticsearchのAPIとQuery DSLを知っています。私はまた、Elasticsearchからクエリ結果を取得する方法のドキュメントを見つけることができます。しかし、集計は内部的にどのクエリで効率的に計算されますか?集約はシングルノードまたはマルチノードのElasticsearchで内部的にどのように計算されますか?
0
A
答えて
0
弾性検索プロセスは、同じ方法で検索(クエリ)と集計を処理します。散布してから収集します。
着信要求を受信する最初のノードは、調整ノードとして機能します。調整ノードの仕事は、リクエストを解析し、必要に応じてルーティングします(必要な場合)。ルーティングの場合は、何が起きているかによって異なりますが、クエリや集約では、使用されているすべてのインデックスの破片に移動する必要があります。
3つのノードクラスタ想像:あなたは2つの破片や1つのレプリカと指数(2 * (2 + (2 * 1))
総破片、これを持っている場合は
node1
node2
node3
を8)、単純なレイアウトは次のようになります。
node1
node2
がnode3
index1_shard0p index0_shard0r、index0_shard1pは、
index1_shard1p、index1_shard0rを持っていindex1_shard1r(注:それは完全にバランスがとれていないですが、それは大丈夫です)、index0_shard0p、index0_shard1rを持って
node2
に、の両方の結果を集計するリクエストがあった場合インデックスの場合、その要求の調整ノードになります。
- これらのインデックスシャードがどこにあるのかを理解するためにクラスタの状態を確認します。
- 各シャードにプライマリとレプリカを使用するかどうかを実際に任意に選択します。
- クエリフェーズを送信します。
- シャードごとの結果を受け取ります。
- 結果を結合します(たとえば、各シャードのトップ10から実際のトップ10を見つける)。
- フェッチフェーズを送信します(フェードフェーズを持つシャードから実際のドキュメントを取得します)。
- 応答を送り返します。
クエリは、既知のようにフェッチフェーズを実行する方法です。シャードは他のシャードの存在を知らないので、クエリーフェーズは実際にはが必要なものと比較して余分なデータを処理していることを意味します。これについては、terms
aggregation documentationで詳細に説明しています。
関連する問題
- 1. ElasticSearchはネストした範囲集計クエリをどのようにしますか
- 2. 倹約は内部的にどのように機能しますか?
- 3. マルチノードを一時的にシングルノードに変更する
- 4. Elasticsearch演算およびネストされた集約
- 5. ElasticSearch内のフィルタリングされたネストされたinner_hitsクエリの集約
- 6. サロゲートペアはどのように計算されますか?
- 7. CSSグラジエントパスはどのように計算されますか?
- 8. emはどのように計算されますか?
- 9. 階乗はどのように計算されますか?
- 10. UIScrollView - showsHorizontalScrollIndicatorはどのように計算されますか?
- 11. カフカオフセット値はどのように計算されますか?
- 12. gitハッシュはどのように計算されますか?
- 13. Netlab - エラーはどのように計算されますか?
- 14. ElasticSearch集約アレイフィールドの合計
- 15. Elasticsearch:深いネストされた集約下reverse_nested集約は
- 16. EJB3メソッドのハッシュはどこでどのように計算されますか?
- 17. c#整数は内部的にどのように管理されますか?
- 18. Emberセットアップでは、コントローラーで計算されましたが、ルート内のsetupController内から計算されました
- 19. 外部キーとのdjango集約はどのように機能しますか?
- 20. Elasticsearch - このようになります集約とバケットサイズ
- 21. iostatのutilがどのように計算されますか?
- 22. 内部結合後の属性の合計を計算するにはどうすればよいですか?
- 23. フロントエンドのインスタンス時間はアプリエンジンでどのように計算されますか?
- 24. CSS:ブロック要素の高さはどのように計算されますか?
- 25. クエリによって返されたフィールド内の式をどのように計算できますか?
- 26. 計算されたコントロールは自動的に再計算されません
- 27. クリックスクロール量はどのようにしてwinformsスクロールバーで計算されますか?
- 28. Sparkで仮想メモリはどのように計算されますか?
- 29. ElasticSearchは集計にのみ使用できますか?
- 30. 3つの割合の比はどのように計算されますか?