2015-03-25 15 views
9

Sto cercando di ottenere statistiche/conteggi su indici nel mio cluster elasticsearch (1.2.1). Stavo usando il Indices Stats API (_stats endpoint) per ottenere il numero totale di documenti primari e le loro dimensioni su disco. Tuttavia, ho iniziato a sperimentare con lo Count API (_count endpoint) e ho notato che i valori non sono allineati.Conteggio documenti Elasticsearch restituito da _stats versus _count

Qual è la differenza tra questi valori? Non è del tutto chiaro dalla documentazione, anche se un indizio nella documentazione indica che il valore restituito da Indicies Stats può cambiare quando si aggiorna l'indice. Questo mi fa chiedere se questo è un valore di livello inferiore dal livello di Lucene.

Indici Statistiche API

localhost:9200/my_index/_stats 

...snip... 

"_all" : { 
    "primaries" : { 
    "docs" : { 
     "count" : 8284, 
     "deleted" : 87 
    }, 
    } 
} 

...snip... 

Conte API

localhost:9200/my_index/_count 

{ 
    "count" : 6854, 
    "_shards" : { 
    "total" : 40, 
    "successful" : 40, 
    "failed" : 0 
    } 
} 

risposta

17

In realtà, il docs.count si torna dalle Indici stats API comprende anche il conteggio dei documenti nidificati presenti nell'indice così sarà sempre essere maggiore o uguale al conteggio che si ottiene dall'API Count, che restituisce solo il conteggio dei documenti di livello superiore, ovvero i documenti che verrebbero restituiti da una query di ricerca.

Quindi, a giudicare dai numeri che hai postato, sembra che il tuo indice contenga documenti con campi il cui tipo è nested nella mappatura. Sembra corretto?

+0

Questo aiuto ha funzionato? – Val

+1

Questa dovrebbe essere accettata come risposta corretta. – Midwire

Problemi correlati