Elasticsearch计算出现次数

时间:2015-01-15 19:46:04

标签: elasticsearch

我正在尝试编写一个弹性搜索查询,该查询将向我显示返回网站的用户数。以下查询按站点返回一天中的所有唯一用户。我正在寻找在该时间段内仅在网站上登陆过一次的用户数量。

 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"
          }
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

您需要使用matric aggregation并为此编写脚本。 在脚本中,您可以检查相同的用户名是否遇到多个文档,从而查看用户的出现次数。

或者您可以等待在此bug已解决的情况下审核该问题。