2015-01-15 4 views
0

사이트로 돌아 오는 사용자의 수를 보여주는 탄력적 인 검색어를 작성하려고합니다. 다음 쿼리는 사이트별로 하루 동안 모든 순 사용자를 반환합니다. 나는 그 기간 동안 한 번 사이트에 착륙 한 사용자의 수를 찾고있다.탄성 검색 카운트 발생 횟수

GET 2015.*/_search?search_type=count 
{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [ 
      { 
       "range": { 
       "@timestamp": { 
        "gte": "now-1d/d", 
        "lte": "now-1d/d" 
       } 
       } 
      }, 
      { 
       "fquery": { 
       "query": { 
        "query_string": { 
        "query": "event:script_initiated" 
        } 
       } 
       } 
      }, 
      { 
       "fquery": { 
       "query": { 
        "query_string": { 
        "query": "session_depth:0" 
        } 
       } 
       } 
      } 
      ] 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "Site Name": { 
     "terms": { 
     "field": "site_name", 
     "size": 1 
     }, 
     "aggs": { 
     "uniques": { 
      "cardinality": { 
      "field": "user_id" 
      } 
     } 
     } 
    } 
    } 
} 
+0

나는 모든 user_id를 검색하지 않고 ES 외부에서 계산하는 것을 선호합니다. – cartoom02

답변

0

matric aggregation을 사용하고 이에 대한 스크립트를 작성해야합니다. 스크립트에서 동일한 사용자 이름이 여러 문서에 걸쳐 있는지 확인하여 사용자 발생 횟수를 확인할 수 있습니다.

또는 bug의 문제가 해결 될 때까지 기다릴 수 있습니다.