問題タブ [elasticsearch-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elasticsearch - Elasticsearch でのソート順
ステータスカウントが1日あたりにフェッチされるjava apiを使用してelasticsearchクエリを作成しました。
コード:
日付と時刻の両方を含む DTCREATED フィールドでデータを並べ替えようとしていますが、クエリは並べ替えられた結果を提供しません。クエリで不足しているものを見つけることができません。助けはありますか?
elasticsearch - Elasticsearch アグリゲーション: 出来高加重平均価格
特定の時間範囲でaと aを持つ取引の出来高加重平均価格 (VWAP)をプロットする必要があります。price_per_unit
quantitiy
集計の結果、すべてのバケットには、date_histogram
これまでに発生したすべての取引の VWAP が含まれている必要があります。
Elasticsearch を使用してこれが可能かどうかはよくわかりませんが、それにアプローチする正しい方法は何でしょうか (スクリプトを使用するなど)?
ドキュメントの基本的なマッピングtrade
は非常に単純です。
に対してexecution_time
を使用する必要がありますdate_histogram
が、取引の合計価格は と の積price_per_unit
ですquantity
。したがって、VWAP = sum(price_per_unit * quantity) / sum(quantity)
.
elasticsearch - Elasticsearch で結果を集計するときに、他のフィールドを返すことはできますか?
私のインデックス PublicationsLikes のマッピングは次のとおりです。
- id : 文字列
- アカウント : 文字列
- api : 文字列
- date : 日付
現在、ES で集計を行っており、結果カウントを (出版物の) ID でグループ化しています。
返された「キー」(ID) は情報ですが、アカウントや API などのパブリケーションの別のフィールドも選択する必要があります。そのようなビット:
どうすればこれを管理できますか?
ありがとう。
elasticsearch - Elasticsearch Aggregation: 親ごとの最新の子の合計
の合計を示す のヒストグラムを生成したいと思いorder
ます。order_revision
price
quantity
次の集計は基本的に機能しますが、既存のすべてのリビジョンの合計を返します。
最終バージョンでは、すべての注文の最新リビジョン (最上位/最新) のquantity
フィールドの合計のみを返す必要があります。グループ化を行い、最新の子のみを選択するような集計を作成する方法が完全にはわかりません。また、この親子構造がこのデータをモデル化するのに最適かどうかもわかりません。timestamp
order_id
elasticsearch - ヒストグラム集約または何か他のもの?
aggregation
と同じ機能Histogram
が必要ですが、間隔を指定する代わりにバケットの数のみを指定する場合、どちらを使用すればよいですか?
のようなもの:aggs
価格を教えてください、そしてそれを 5 つのバケツに分けてください...
min+max を作成したくないのでaggregation
、クエリを送信する前に 5 つの間隔を計算します。これは、サーバー上で 1 つの余分なクエリを意味するためです...最初に min+max を要求してから、実際のクエリを送信します。
標準ヒストグラム集計クエリ:
標準的な結果 (間隔が 500 であるため、最小 10、最大 850 = 2 バケット):
私が欲しいもの (自動範囲最小: 10、最大: 850 = 1 バケット間隔の 5 つのバケットは 168):