2016-05-04 12 views
0

私は、ユーザが訪問したページを格納するElasticSearchのpageTransitionを持っています。ユーザーがページ183からページに184弾性検索:集約クエリの書き出し

"clientId": 0, 
"fromUrl": "http://ats.survale.com/Apply/AdditionalInfo.aspx", 
"toUrl": "http://ats.survale.com/Apply/ConfirmInfo.aspx", 
"fromPageId": "183", 
"toPageId": "184", 
"created": "2016-02-29T18:22:49.509Z" 

を行くとき、それはfromPageId、toPageId、(訪問の時間)などを作成した。.. は、単一のレコードは以下のように見えた今、私は最後の7日間ですべてpageTransitionsのカウントをしたいです。私は182-183:12,183-184:13などを意味します。私はまた、ユーザーが各ページに費やした平均時間も求めています。集約を使用することは可能ですか?

答えて

0

7日ラッツ上でページ遷移の数を取得するには、この使用することができます。これが機能するためには

{ 
    "size": 0, 
    "query": { 
    "bool": { 
     "filter": { 
     "range": { 
      "created": { 
      "gt": "now-7d" 
      } 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "transitions": { 
     "terms": { 
     "script": "[doc.fromPageId.value, doc.toPageId].join('-')" 
     } 
    } 
    } 
} 

をあなたはdynamic scripting is enabled

+0

をするには、この必要性スクリプトを実行していることを確認する必要がありますelasticsearchで有効にする? – vadiraj

+0

はい、正しいです。 – Val

+0

スクリプトなしでどうすればいいですか?また、すべてのタイムスタンプの配列を返すことができるので、私は手動で平均時間を計算することができます。 – vadiraj