backtrack
backtrack

Reputation: 8154

Elastic search document count

I am having a Elastic search running 2.2 version. I have created index and loaded sample documents. I found some problem in it. When i give

GET index/type/_count

I am getting the correct answer

{
   "count": 9998,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   }
}

But when i see the things using http://IP:9200/_cat/indices?v

health status index pri rep docs.count docs.deleted store.size pri.store.size     
yellow open   index  5   1      79978            0     32.1mb         32.1mb 

Where docs.count : 79978. Which is wrong.

Why i am seeing docs.count with wrong value. The exact document count is 9998

Upvotes: 26

Views: 28919

Answers (1)

Val
Val

Reputation: 217564

GET index/type/_count will return the top-level document count.

docs.count in _cat/indices returns the count of all documents, including artificial documents that have been created for nested fields.

That's why you see a difference:

  • The former count (i.e. 9998) will tell you how many Elasticsearch documents are in your index, i.e. how many you have indexed.
  • The latter count (i.e. 79978) will tell you how many Lucene documents are in your index.

So if one ES document contain a nested field with 5 sub-elements, you'll see 1 ES document, but 6 Lucene documents. Judging by the counts, each of your ES document has between 7 and 8 nested elements within it.

Upvotes: 44

Related Questions