Get Query Statistics
Query statistics can provide important information about a query like duration, total number of results, staleness information, etc.
To access statistics use the statistics
method.
Example
Reference<QueryStatistics> stats = new Reference<>();
List<Employee> employees = session.query(Employee.class)
.whereEquals("FirstName", "Robert")
.statistics(stats)
.toList();
int totalResults = stats.value.getTotalResults();
long durationInMs = stats.value.getDurationInMs();
Syntax
IDocumentQuery<T> statistics(Reference<QueryStatistics> stats);
Parameters | ||
---|---|---|
stats | QueryStatistics |
Statistics for query. |
public class QueryStatistics {
private boolean isStale;
private long durationInMs;
private int totalResults;
private long longTotalResults;
private int skippedResults;
private Date timestamp;
private String indexName;
private Date indexTimestamp;
private Date lastQueryTime;
private Long resultEtag;
private String nodeTag;
}
Property | Type | Description |
---|---|---|
IsStale | boolean |
Are the results returned by the query potentially stale |
DurationInMs | long |
Query duration on the server side in Milliseconds |
TotalResults | int |
The total count of results that matched the query as int |
LongTotalResults | long |
The total count of the results that matched the query as long |
SkippedResults | int |
The number of results skipped by the server. Learn more in paging through tampered results. |
Timestamp | Date |
The time when the query results were unstale |
IndexName | string |
The name of the queried index |
indexTimestamp | Date |
The timestamp of the queried index |
LastQueryTime | Date |
The timestamp of the last time the index was queried |
ResultEtag | Long |
Results Etag |
NodeTag | String |
Tag of the cluster node that responded to the query |