# Get unique counts with per minute bucket in elasticsearch

**URL:** <https://discuss.elastic.co/t/get-unique-counts-with-per-minute-bucket-in-elasticsearch/210340>\
**Category:** Elasticsearch\
**Created:** [December 3, 2019, 12:54pm UTC](https://discuss.elastic.co/t/get-unique-counts-with-per-minute-bucket-in-elasticsearch/210340 "2019-12-03T12:54:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![nitish1402](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nitish1402/32/58733_2.png) [@nitish1402](https://discuss.elastic.co/u/nitish1402)\
**Post date:** [December 3, 2019, 12:54pm UTC](https://discuss.elastic.co/t/get-unique-counts-with-per-minute-bucket-in-elasticsearch/210340/1 "2019-12-03T12:54:24Z")

</div>

> <https://stackoverflow.com/questions/59157475/get-unique-counts-with-per-minute-bucket-in-elasticsearch>

Hi Team , I have the following scenario , where i am receiving logs from at max 50k users in every 30 seconds for 60 mins. I am using elasticsearch to store the data in following format.

```auto
[
  {
    "viewlogId": "9abb5a3a-3678-4459-a425-ccb6f957e317",
    "creationTime": 1575187230000,
    "userId": "USERID_0",
    "viewingSessionId": "2991fa12_viewingSessionId_0_1"
  },
  {
    "viewlogId": "9abb5a3a-3678-4459-a425-ccb6f957e318",
    "creationTime": 1575187230000,
    "userId": "USERID_0",
    "viewingSessionId": "2991fa12_viewingSessionId_0_1"
  },
  {
    "viewlogId": "9abb5a3a-3678-4459-a425-ccb6f957e319",
    "creationTime": 1575187230000,
    "userId": "USERID_0",
    "viewingSessionId": "2991fa12_viewingSessionId_0_1"
  },
  {
    "viewlogId": "9abb5a3a-3678-4459-a425-ccb6f957e320",
    "creationTime": 1575187290000,
    "userId": "USERID_0",
    "viewingSessionId": "2991fa12_viewingSessionId_0_1"
  },
  {
    "viewlogId": "9abb5a3a-3678-4459-a425-ccb6f957e321",
    "creationTime": 1575187290000,
    "userId": "USERID_0",
    "viewingSessionId": "2991fa12_viewingSessionId_0_1"
  }
]

```

This Sample has data for single user for one session with `viewingSessionId 2991fa12_viewingSessionId_0_1`.The **viewingSessionId** is going to be unique for every user.

Now i am interested in showing a histogram per minute with unique viewsessionIds. for that i am using the following query.

```auto
GET <<index_name>>/_search
{
  "size": 0,
  "query": {
    "bool": {
      "adjust_pure_negative": true,
      "boost": 1
    }
  },
  "aggregations": {
    "total_views": {
      "cardinality": {
        "field": "viewingSessionId"
      }
    },
    "date_histogram_1": {
      "date_histogram": {
        "field": "creationTime",
        "fixed_interval": "1m"
      },
      "aggregations": {
        "user_counts": {
          "cardinality": {
            "field": "viewingSessionId"
          }
        }
      }
    }
  }
}

```

But according to elastic docs [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html) and also i have observed during testing **cardinality counts are approximate** with threshold of 40k. Since I have 50k users and 1-2 viewlog per minute so in one bucket i will be having 150k records at max and counts will be approximate.

**Any other approaches to solve the problem either by changing index structure or by querying**

Thanks

> Elasticsearch version : 7.4.1

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 31, 2019, 12:54pm UTC](https://discuss.elastic.co/t/get-unique-counts-with-per-minute-bucket-in-elasticsearch/210340/2 "2019-12-31T12:54:24Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
