問題タブ [date-histogram]
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 - エラスティックサーチアグリゲーションの動的タイムゾーンオフセット?
それぞれにタイムスタンプがあるドキュメントを集約しています。タイムスタンプは UTC ですが、ドキュメントごとに異なるローカル タイム ゾーン ( "timezone": "America/Los_Angeles"
) もあります。
date_histogram aggregation
UTC や固定タイム ゾーンではなく、現地時間に基づいてを実行しようとしています (たとえば、オプションを使用"time_zone": "America/Los_Angeles"
)。
集計前に各ドキュメントのタイムゾーンを現地時間に変換するにはどうすればよいですか?
単純な集計は次のとおりです。
elasticsearch - Elasticsearch Date Histogram Aggregation - Nカウントでバケットを取得
N個のバケットでelasticsearch Date Histogramから取得する必要があります。たとえば、間隔ごとにデータを取得できるようになりました。1か月-ただし、間隔が定義されていない日付を取得する必要がありますが、現在はバケットの数を取得しています-間隔はelasticsearchで計算する必要があります。
可能です?
ここで答えが見つかりません:http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html
私の英語でごめんなさい。
PS。アドオンリクエストを作成することでそれを行うことができます(date_min、date_maxを取得し、適切なリクエストを送信する前に間隔を計算します)が、2つのリクエストは1つのリクエストよりも悪いです;)
elasticsearch - Elasticsearch の日付ヒストグラム バケットの平均
ElasticSearch でインデックス化されたドキュメントが多数あり、次のデータを取得する必要があります。
各月について、その月の営業日あたりの平均ドキュメント数を取得します(または、それが不可能な場合は、デフォルトとして 20 日を使用します)。
集計を使用して、データを月のバケットにdate histogram
集計しました。バケットをネストしようとしましたstats
が、この集計では、親バケットからではなく、ドキュメントのフィールドから抽出されたデータが使用されます。
これまでの私のクエリは次のとおりです。
編集
私の質問をより明確にするために、私が必要とするのは次のとおりです。
date_histogram
その月に作成されたドキュメントの合計数を取得します (これは集計のおかげで既に行われています)- その月の稼働日数を取得する
- 1 番目を 2 番目で割ります。
sql - Netezza での "group by" 集計のより高速な代替手段はありますか?
これは、実行したい最小限のクエリ ステートメントです。
ただし、「where」句も必要です。私がやろうとしているのは、ヒストグラム クエリを作成し、特定の「onegid」を持つ要素の数を決定することです。クエリは、8 億行で約 7 秒かかります。誰かがより速い代替案または最適化を提案できますか。
私は実際に緯度と経度で構成される空間データからヒートマップをプロットしようとしていました。各要素にグリッド ID を割り当てましたが、「集約によるグループ化」は時間の面でかなりコストがかかります。
kibana - Elastic Search の日付ヒストグラムと日付範囲の間で異なる結果
Elastic Search/Kibana を使用してログ データを分析し、月ごとに一意の顧客をカウントしたいと考えています。日付ヒストグラム集計と日付範囲集計を使用すると、結果が異なります。
日付ヒストグラム クエリは次のとおりです。
そして結果:
日付範囲クエリは次のとおりです。
そして応答:
最初のケースでは、4 月が 595,805、5 月が 647,788 です。2 番目のケースでは、4 月が 592,179、5 月が 616,995 です。
これらのユースケース間にこれらの違いがある理由を誰かが説明してくれますか?
ありがとうございました
最初の投稿を更新して別の例を追加します
データが少ない (1 日) 別の例を追加しますが、同じ問題があります。日付ヒストグラムを使用した最初のリクエストは次のとおりです。
そして、最初の 1 時間で 660 個のユニーク カウントと 1717 個のドキュメント カウントを確認できます。
しかし、日付範囲の 2 番目のリクエストでは:
1717 のドキュメント カウントで 633 のユニーク カウントのみを確認できます。
誰かが理由を教えてください。ありがとうございました
time - 1 時間間隔の Elasticsearch 日付ヒストグラム
私はこの集計をしようとしています:
それは完全に機能しますが、時間ごとにグループ化する必要があり、同じ時間に複数の時間を返さないでください。それは意味がありますか? これは私が今得ているものです:
これは私が必要とするものです(時間ごとにグループ化):
提案?
編集
私はその問題の解決策を見つけました。最善のアプローチかどうかはわかりませんが、うまくいきます。
elasticsearch - Elasticsearch Date_Histogram はフィルター全体をカバーしていません
私は ES Date Histogramを使用していますが、奇妙な動作が発生し始めました。なぜだろうと思っています。
これは私がelasticsearchに送信しているリクエストです:
私が得ている結果はバケットであり、最初のバケットは次のとおりです。
だから私は2010-07-02からフィルタリングし、2010-08-24からのみ結果を取得しています
これは単なる例です。この動作は、さらに多くのバケットが欠落している場合 (数か月) にも見られました。
[編集] これは最初の結果の日付と相関しているようです。つまり、その時間範囲の最初の結果は 2010 年 8 月 24 日のものですが、私が含めたように"min_doc_count": 0
、その範囲全体から結果が得られると期待しています。
elasticsearch - Elasticsearch - 親バケットに関連して、ネストされた集計の割合を計算します
更新された質問
私のクエリでは、日付で集計してからセンサー名で集計します。ネストされた集計と、親バケットのドキュメント (またはその他の集計) の合計数から比率を計算することは可能ですか? クエリの例:
比率count_by_name / all_count * 100を提供するカスタム メトリックが必要です。それは ES で可能ですか、それともクライアントで計算する必要がありますか? これは私には非常に簡単に思えますが、まだ方法が見つかりません。
古い投稿:
バケットの平均を計算するときに、Elasticsearch でドキュメントの総数 (またはその他のメトリック) を考慮する方法はありますか?
例: さまざまな時間にイベントを生成する 100000 個のセンサーがあります。すべてのイベントは、タイムスタンプと値を持つドキュメントとしてインデックス化されます。
値と日付ヒストグラムの比率を計算したいときに、一部のセンサーが一度に値しか生成しない場合、センサーの存在しない値 (ドキュメント) を null ではなく 0 として Elasticsearch で処理する必要があります。したがって、日ごとに集計し、センサーが午後 10 時 (3) と午後 11 時 (5) に 2 つの値のみを生成した場合、その日の集計は (3+5)/24、または形式的には SUM(VALUE)/24 になります。
代わりに、Elasticsearch は (3+5)/2 のように平均を計算しますが、これは私の場合は正しくありません。
かつて Github https://github.com/elastic/elasticsearch/issues/9745にチケットがありましたが、答えは「アプリケーションで処理してください」でした。平均比率を正しく取得するには、すべてのセンサー/時間の組み合わせに対して無数のゼロ値ドキュメントを生成する必要があるため、それは私にとって答えではありません。
これに関するアイデアはありますか?