Getting Search Statistics

  • reference
March 23, 2025
+ 12
Get statistics for the Search Service and your Search indexes.

Get Search Index Statistics

Use the following API to retrieve statistics on documents, partition indexes, mutations, compactions, and queries for the Search Service and any Search indexes.

Endpoint

GET <host>:<port>/api/nsstats
  • Set host to a node that runs the Search Service.

  • Set port to the port for the Search Service:

    • Use 8094 for http.

    • Use 18094 for https.

Permission Required

cluster.fts!read

Role Required

Full Admin, Cluster Admin, or the Bucket Admin role for the bucket or buckets where you created Search indexes.

Responses

If the call is successful, the API returns a 200 OK response with an object containing search-related statistics.

A malformed URI gives 400 Object Not Found. Failure to authenticate gives 401 Unauthorized.

If a user authenticates but does not have the appropriate permissions, the API returns a 403 Forbidden response with an object similar to the following:

Sample 403 response
{
  "message": "Forbidden. User needs one of the following permissions",
  "permissions": [
    "cluster.fts!read"
  ]
}

A successful response would return an object like the following, which contains statistics on 2 indexes, travel-sample-index and color-test:

Sample success response
{
    "avg_queries_latency": 9.38084,
    "batch_bytes_added": 1065776,
    "batch_bytes_removed": 1065776,
    "curr_batches_blocked_by_herder": 0,
    "num_batches_introduced": 20,
    "num_bytes_ram_quota": 440320000,
    "num_bytes_used_disk": 38324504,
    "num_bytes_used_ram": 250174920,
    "num_bytes_used_ram_c": 2354288,
    "num_files_on_disk": 6,
    "num_gocbcore_dcp_agents": 2,
    "num_gocbcore_stats_agents": 4,
    "num_knn_search_requests": 7,
    "pct_cpu_gc": 0.0000521150454206345,
    "pct_used_ram": 56.81661518895349,
    "tot_batches_flushed_on_maxops": 8,
    "tot_batches_flushed_on_timer": 12,
    "tot_batches_merged": 2028,
    "tot_batches_new": 20,
    "tot_bleve_dest_closed": 0,
    "tot_bleve_dest_opened": 2,
    "tot_grpc_listeners_closed": 0,
    "tot_grpc_listeners_opened": 1,
    "tot_grpc_queryreject_on_memquota": 0,
    "tot_grpcs_listeners_closed": 0,
    "tot_grpcs_listeners_opened": 1,
    "tot_http_limitlisteners_closed": 0,
    "tot_http_limitlisteners_opened": 1,
    "tot_https_limitlisteners_closed": 0,
    "tot_https_limitlisteners_opened": 2,
    "tot_queryreject_on_memquota": 0,
    "tot_remote_grpc": 0,
    "tot_remote_grpc_ssl": 0,
    "tot_remote_grpc_tls": 0,
    "tot_remote_http": 0,
    "tot_remote_http2": 0,
    "tot_remote_http_ssl": 0,
    "tot_rollback_full": 0,
    "tot_rollback_partial": 0,
    "total_bytes_query_results": 62573,
    "total_create_index_bad_request_error": 0,
    "total_create_index_internal_server_error": 0,
    "total_create_index_request": 1,
    "total_create_index_request_ok": 1,
    "total_delete_index_bad_request_error": 0,
    "total_delete_index_internal_server_error": 0,
    "total_delete_index_request": 0,
    "total_delete_index_request_ok": 0,
    "total_gc": 412,
    "total_internal_queries": 0,
    "total_queries": 8,
    "total_queries_bad_request_error": 1,
    "total_queries_consistency_error": 0,
    "total_queries_error": 1,
    "total_queries_max_result_window_exceeded_error": 0,
    "total_queries_partial_results_error": 0,
    "total_queries_rejected_by_herder": 0,
    "total_queries_search_in_context_error": 0,
    "total_queries_slow": 0,
    "total_queries_timeout": 0,
    "total_queries_validation_error": 0,
    "total_request_time": 81994975,
    "travel-sample:travel-sample.inventory.travel-test:avg_grpc_internal_queries_latency": 0,
    "travel-sample:travel-sample.inventory.travel-test:avg_grpc_queries_latency": 0,
    "travel-sample:travel-sample.inventory.travel-test:avg_internal_queries_latency": 0,
    "travel-sample:travel-sample.inventory.travel-test:avg_queries_latency": 0,
    "travel-sample:travel-sample.inventory.travel-test:doc_count": 917,
    "travel-sample:travel-sample.inventory.travel-test:last_access_time": "2024-08-13T18:54:00.844+00:00",
    "travel-sample:travel-sample.inventory.travel-test:num_bytes_read_at_query_time": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_bytes_used_disk": 36279386,
    "travel-sample:travel-sample.inventory.travel-test:num_bytes_used_disk_by_root": 17119280,
    "travel-sample:travel-sample.inventory.travel-test:num_bytes_used_disk_by_root_reclaimable": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_bytes_written_at_index_time": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_file_merge_ops": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_files_on_disk": 4,
    "travel-sample:travel-sample.inventory.travel-test:num_mem_merge_ops": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_mutations_to_index": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_persister_nap_merger_break": 1,
    "travel-sample:travel-sample.inventory.travel-test:num_persister_nap_pause_completed": 1,
    "travel-sample:travel-sample.inventory.travel-test:num_pindexes_actual": 1,
    "travel-sample:travel-sample.inventory.travel-test:num_pindexes_target": 1,
    "travel-sample:travel-sample.inventory.travel-test:num_recs_to_persist": 0,
    "travel-sample:travel-sample.inventory.travel-test:num_root_filesegments": 1,
    "travel-sample:travel-sample.inventory.travel-test:num_root_memorysegments": 0,
    "travel-sample:travel-sample.inventory.travel-test:timer_batch_store_count": 0,
    "travel-sample:travel-sample.inventory.travel-test:timer_data_delete_count": 0,
    "travel-sample:travel-sample.inventory.travel-test:timer_data_update_count": 0,
    "travel-sample:travel-sample.inventory.travel-test:timer_opaque_get_count": 2048,
    "travel-sample:travel-sample.inventory.travel-test:timer_opaque_set_count": 1024,
    "travel-sample:travel-sample.inventory.travel-test:timer_rollback_count": 0,
    "travel-sample:travel-sample.inventory.travel-test:timer_snapshot_start_count": 96,
    "travel-sample:travel-sample.inventory.travel-test:tot_seq_received": 87974,
    "travel-sample:travel-sample.inventory.travel-test:total_bytes_indexed": 8523422,
    "travel-sample:travel-sample.inventory.travel-test:total_bytes_query_results": 126174,
    "travel-sample:travel-sample.inventory.travel-test:total_compaction_written_bytes": 15644740,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_internal_queries": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_queries": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_queries_error": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_queries_slow": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_queries_timeout": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_grpc_request_time": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_internal_queries": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_knn_searches": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_queries": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_queries_error": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_queries_slow": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_queries_timeout": 0,
    "travel-sample:travel-sample.inventory.travel-test:total_request_time": 96821165,
    "travel-sample:travel-sample.inventory.travel-test:total_term_searchers": 22,
    "travel-sample:travel-sample.inventory.travel-test:total_term_searchers_finished": 22,
    "vector-sample:vector-sample.color.color-test:avg_grpc_internal_queries_latency": 0,
    "vector-sample:vector-sample.color.color-test:avg_grpc_queries_latency": 0,
    "vector-sample:vector-sample.color.color-test:avg_internal_queries_latency": 0,
    "vector-sample:vector-sample.color.color-test:avg_queries_latency": 9.38084,
    "vector-sample:vector-sample.color.color-test:doc_count": 153,
    "vector-sample:vector-sample.color.color-test:field:colorvect_l2:num_vectors": 153,
    "vector-sample:vector-sample.color.color-test:field:embedding_vector_dot:num_vectors": 153,
    "vector-sample:vector-sample.color.color-test:last_access_time": "2024-04-30T15:58:55.073+00:00",
    "vector-sample:vector-sample.color.color-test:num_bytes_read_at_query_time": 14780,
    "vector-sample:vector-sample.color.color-test:num_bytes_used_disk": 2045118,
    "vector-sample:vector-sample.color.color-test:num_bytes_used_disk_by_root": 996542,
    "vector-sample:vector-sample.color.color-test:num_bytes_used_disk_by_root_reclaimable": 0,
    "vector-sample:vector-sample.color.color-test:num_bytes_written_at_index_time": 1003945,
    "vector-sample:vector-sample.color.color-test:num_file_merge_ops": 0,
    "vector-sample:vector-sample.color.color-test:num_files_on_disk": 2,
    "vector-sample:vector-sample.color.color-test:num_mem_merge_ops": 1,
    "vector-sample:vector-sample.color.color-test:num_mutations_to_index": 0,
    "vector-sample:vector-sample.color.color-test:num_persister_nap_merger_break": 2,
    "vector-sample:vector-sample.color.color-test:num_persister_nap_pause_completed": 2,
    "vector-sample:vector-sample.color.color-test:num_pindexes_actual": 1,
    "vector-sample:vector-sample.color.color-test:num_pindexes_target": 1,
    "vector-sample:vector-sample.color.color-test:num_recs_to_persist": 0,
    "vector-sample:vector-sample.color.color-test:num_root_filesegments": 1,
    "vector-sample:vector-sample.color.color-test:num_root_memorysegments": 0,
    "vector-sample:vector-sample.color.color-test:timer_batch_store_count": 0,
    "vector-sample:vector-sample.color.color-test:timer_data_delete_count": 0,
    "vector-sample:vector-sample.color.color-test:timer_data_update_count": 153,
    "vector-sample:vector-sample.color.color-test:timer_opaque_get_count": 2048,
    "vector-sample:vector-sample.color.color-test:timer_opaque_set_count": 2048,
    "vector-sample:vector-sample.color.color-test:timer_rollback_count": 0,
    "vector-sample:vector-sample.color.color-test:timer_snapshot_start_count": 141,
    "vector-sample:vector-sample.color.color-test:tot_seq_received": 5273,
    "vector-sample:vector-sample.color.color-test:total_bytes_indexed": 945671,
    "vector-sample:vector-sample.color.color-test:total_bytes_query_results": 62573,
    "vector-sample:vector-sample.color.color-test:total_compaction_written_bytes": 996542,
    "vector-sample:vector-sample.color.color-test:total_compactions": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_internal_queries": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_queries": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_queries_error": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_queries_slow": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_queries_timeout": 0,
    "vector-sample:vector-sample.color.color-test:total_grpc_request_time": 0,
    "vector-sample:vector-sample.color.color-test:total_internal_queries": 0,
    "vector-sample:vector-sample.color.color-test:total_knn_searches": 7,
    "vector-sample:vector-sample.color.color-test:total_queries": 8,
    "vector-sample:vector-sample.color.color-test:total_queries_error": 1,
    "vector-sample:vector-sample.color.color-test:total_queries_slow": 0,
    "vector-sample:vector-sample.color.color-test:total_queries_timeout": 0,
    "vector-sample:vector-sample.color.color-test:total_request_time": 81994975,
    "vector-sample:vector-sample.color.color-test:total_term_searchers": 80,
    "vector-sample:vector-sample.color.color-test:total_term_searchers_finished": 80,
    "vector-sample:vector-sample.color.color-test:total_vectors": 306,
}

Returned Statistics

The Search Service returns the following statistics from the nsstats endpoint:

Statistic Description

avg_queries_latency

The average latency of all Search queries run on the cluster, in milliseconds.

batch_bytes_added

The total number of bytes in batches that have not yet been added to the Search index.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index.

batch_bytes_removed

The total number of bytes in batches that have been added to the Search index.

Use together with batch_bytes_added to understand when indexing operations complete.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index.

curr_batches_blocked_by_herder

The difference between the number of batches that have been indexed (batch_bytes_removed) and batches that have not yet been indexed (batch_bytes_added).

The Search Service blocks batch indexing until there is sufficient memory available on a node.

This statistic appears on the Server Web Console dashboard as DCP Batches Blocked.

num_batches_introduced

The total number of batches introduced as part of indexing operations.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index.

num_bytes_ram_quota

The total number of bytes set as the maximum usable memory for the Search Service on the cluster.

This statistic appears on the Server Web Console dashboard as RAM Quota for Search.

num_bytes_used_disk

The total number of bytes used on disk by Search indexes in the cluster.

num_bytes_used_ram

The number of bytes used in memory by the Search Service.

This statistic appears on the Server Web Console dashboard as RAM Used by Search.

num_bytes_used_ram_c

The number of bytes used in memory by the Search Service’s C language processes.

This amount is included as part of the total number of bytes used in memory, given by the num_bytes_used_ram statistic.

num_files_on_disk

The total number of files on disk for all Search indexes.

num_gocbcore_dcp_agents

The total number of Go SDK DCP agents used by the Search Service to establish DCP communication with the Data Service.

The number of Go SDK DCP agents should be less than or equal to the number of Search index partitions on a node.

num_gocbcore_stats_agents

The total number of Go SDK agent pairs, used to retrieve statistics from the Data Service, that are present on a node.

Typically, the Search Service uses one agent pair for each bucket on a node.

num_knn_search_requests

The total number of Vector Search requests made across all Search indexes in the cluster.

pct_cpu_gc

The percentage of CPU time spent by a Search index in garbage collection. Garbage collection involves cleanup actions like removing unnecessary index entries.

pct_used_ram

The percentage of the available RAM quota used by the Search Service.

This statistic appears on the Server Web Console dashboard as Pct RAM Used by Search.

tot_batches_flushed_on_maxops

The total number of batches executed due to the batch size being greater than the maximum number of operations per batch.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index. A batch is executed when it’s flushed to disk.

tot_batches_flushed_on_timer

The total number of batches executed at regular intervals.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index. A batch is executed when it’s flushed to disk.

tot_batches_merged

The number of batches that have been merged together before being sent to the disk write queue.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index.

tot_batches_new

The number of new batches that have been freshly introduced into the system. These batches could be merged with other new batches before being sent to the disk write queue.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index.

tot_bleve_dest_closed

The total number of times a Search index partition closed to new Search requests.

tot_bleve_dest_opened

The total number of times Search index partitions were created or reopened for new Search requests, or for ingesting data coming in from DCP.

Opening an index partition creates a file lock for concurrent access requests.

tot_grpc_listeners_closed

The total number of gRPC listeners closed.

gRPC listeners handle incoming connection requests to the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

tot_grpc_listeners_opened

The total number of gRPC listeners opened.

gRPC listeners handle incoming connection requests to the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

tot_grpc_queryreject_on_memquota

The total number of gRPC queries rejected because of the available memory quota for the Search Service being less than the estimated memory required for merging search results from all partitions for the query.

For more information about how to set the Search Service’s quota, see ftsMemoryQuota.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

tot_grpcs_listeners_closed

The total number of gRPC SSL listeners closed.

gRPC SSL listeners handle incoming SSL connection requests to the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

tot_grpcs_listeners_opened

The total number of gRPC SSL listeners opened.

gRPC SSL listeners handle incoming SSL connection requests to the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

tot_http_limitlisteners_closed

The total number of HTTP limit listeners closed.

HTTP limit listeners manage limits on incoming HTTP requests to the Search Service.

tot_http_limitlisteners_opened

The total number of HTTP limit listeners opened.

HTTP limit listeners manage limits on incoming HTTP requests to the Search Service.

tot_https_limitlisteners_closed

The total number of HTTPS limit listeners closed.

HTTPS limit listeners manage limits on incoming HTTPS requests to the Search Service.

tot_https_limitlisteners_opened

The total number of HTTPS limit listeners opened.

HTTPS limit listeners manage limits on incoming HTTPS requests to the Search Service.

tot_queryreject_on_memquota

The total number of Search queries rejected because of the available memory quota for the Search Service being less than the estimated memory required for merging search results from all partitions for the query.

For more information about how to set the Search Service’s memory quota, see ftsMemoryQuota.

tot_remote_grpc

The total number of remote gRPC requests made to the Search Service.

A request is remote if it comes from a different node in the cluster.

tot_remote_grpc_ssl

The total number of gRPC scatter-gather requests made to the Search Service over SSL.

A request is remote if it comes from a different node in the cluster.

tot_remote_grpc_tls

This metric is deprecated.

tot_remote_http

The total number of remote HTTP requests made to the Search Service.

A request is remote if it comes from a different node in the cluster.

Remote HTTP requests are deprecated. Use gRPC requests, instead.

tot_remote_http2

The total number of remote HTTPS requests made to the Search Service.

A request is remote if it comes from a different node in the cluster.

Remote HTTP requests are deprecated. Use gRPC requests, instead.

tot_remote_http_ssl

The total number of remote HTTP SSL requests made to the Search Service.

A request is remote if it comes from a different node in the cluster.

Remote HTTP requests are deprecated. Use gRPC requests, instead.

tot_rollback_full

The total number of full rollbacks that occurred on a Search index partition.

The Search Service only maintains a small number of index snapshots at one time.

If the Search Service loses connection to the Data Service, the Search Service compares rollback sequence numbers when the connection is re-established. If the Search Service’s index snapshots are too far ahead of the Data Service’s rollback sequence number, the Search Service performs a full rollback operation on documents in the index.

tot_rollback_partial

The total number of partial rollbacks that occurred on a Search index partition.

The Search Service only maintains a small number of index snapshots at one time.

If the Search Service loses connection to the Data Service, the Search Service compares rollback sequence numbers when the connection is re-established. If the Search Service’s index snapshots match the Data Service’s rollback sequence number, the Search Service performs a partial rollback operation on documents in the index.

total_bytes_query_results

The size of all results returned for Search queries. This includes the size of all JSON sent.

total_create_index_bad_request_error

The total number of bad request errors returned for requests to create new Search indexes on the cluster.

total_create_index_internal_server_error

The total number of internal server errors returned for requests to create new Search indexes on the cluster.

total_create_index_request

The total number of requests received by the Search Service for creating new Search indexes.

total_create_index_request_ok

The total number of requests received by the Search Service for creating new Search indexes that were successful.

total_delete_index_bad_request_error

The total number of bad request errors returned for requests to delete Search indexes on the cluster.

total_delete_index_internal_server_error

The total number of internal server errors returned for requests to delete Search indexes on the cluster.

total_delete_index_request

The total number of requests received by the Search Service to delete Search indexes.

total_delete_index_request_ok

The total number of requests received by the Search Service to delete Search indexes that were successful.

total_gc

The total number of garbage collection events triggered by the Search Service.

Garbage collection events include removing unnecessary index entries.

total_internal_queries

The number of internal queries from the coordinating node for a Search query to other nodes running the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster. The coordinating node is the Search node that receives the Search request and scatters it to all other Search index partitions on other nodes. The coordinating node applies filters to the results from all Search index partitions and returns the final result set.

total_queries

The total number of Search queries per second across all Search indexes in the cluster.

total_queries_bad_request_error

The total number of bad request errors returned for Search queries on the cluster.

total_queries_consistency_error

The total number of Search queries that encountered consistency errors on the cluster.

For more information about consistency in Search queries, see Search Request JSON Properties.

total_queries_error

The total number of Search queries that encountered an error on the cluster.

total_queries_max_result_window_exceeded_error

The total number of Search queries that exceeded the bleveMaxResultWindow setting.

total_queries_partial_results_error

The total number of Search queries that could only return partial results.

A Search query can return partial results if it times out before all partitions can respond.

total_queries_rejected_by_herder

The total number of queries rejected by the Search Service when the memory used approaches or exceeds the quota set for a query.

For more information about how to set the Search Service’s memory quota, see ftsMemoryQuota.

This statistic appears on the Server Web Console dashboard as Rejected Queries.

total_queries_search_in_context_error

The total number of Search queries that returned an error when running through the SearchInContext API.

These errors are typically internal server errors.

total_queries_slow

The total number of Search queries that were added to the slow query log.

total_queries_timeout

The total number of Search queries that timed out.

You can set the timeout for a query with the ctl object.

total_queries_validation_error

The total number of queries that encountered a validation error, when the query request included a validate property in the ctl object.

For more information, see the validate property.

total_request_time

The total time, in nanoseconds, spent processing Search queries across the cluster.

BUCKET_NAME:INDEX_NAME:avg_grpc_internal_queries_latency

The average time taken for a Search query’s scatter-gather requests between the coordinator and other nodes running the Search Service.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster. The coordinator is the Search node that receives the Search request and scatters it to all other Search index partitions on other nodes.

BUCKET_NAME:INDEX_NAME:avg_grpc_queries_latency

The average time taken for each Search query that uses gRPC, in milliseconds for the given Search index.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster.

BUCKET_NAME:INDEX_NAME:avg_internal_queries_latency

The average latency, in milliseconds, for inter-node queries for the given Search index.

BUCKET_NAME:INDEX_NAME:avg_queries_latency

The average latency, in milliseconds, for all Search queries on the given Search index.

This statistic appears on the Server Web Console dashboard as Search Query Latency.

BUCKET_NAME:INDEX_NAME:doc_count

The total number of documents in the given Search index.

This statistic appears on the Server Web Console dashboard as Search Docs.

BUCKET_NAME:INDEX_NAME:last_access_time

The last date and time that a query ran against the given Search index.

BUCKET_NAME:INDEX_NAME:num_bytes_read_at_query_time

The total number of bytes read by all queries against the given Search index.

BUCKET_NAME:INDEX_NAME:num_bytes_used_disk

The total number of bytes used on disk by the given Search index.

This statistic appears on the Server Web Console dashboard as Search Disk Size.

BUCKET_NAME:INDEX_NAME:num_bytes_used_disk_by_root

The total number of bytes used on disk by the root segment of the given Search index.

The root segment includes all data for the Search index, excluding any segments that might be stale and will be removed by the persister or merger. Segments are stale when they’re replaced by a new merged segment created by the merger. Stale segments are deleted when they’re not used by any new queries.

The num_bytes_used_disk_by_root value will be less than the num_bytes_used_disk value.

BUCKET_NAME:INDEX_NAME:num_bytes_used_disk_by_root_reclaimable

The total number of bytes used on disk by the latest root index segment snapshot, which can potentially be reclaimed by a file merge operation.

The root segment includes all data for the Search index, excluding any segments that might be stale and will be removed by the persister or merger. Segments are stale when they’re replaced by a new merged segment created by the merger. Stale segments are deleted when they’re not used by any new queries.

BUCKET_NAME:INDEX_NAME:num_bytes_written_at_index_time

The total cumulative number of bytes written to disk as part of introducing segments, or files.

BUCKET_NAME:INDEX_NAME:num_file_merge_ops

The number of merge operations completed by the merger routine, over persisted files.

Each Search index partition has a merger and a persister.

The persister reads in-memory segments from the disk write queue and flushes them to disk. The merger consolidates flushed files from the persister and flushes the consolidated result to disk through the persister, while purging the smaller, older files. The persister and merger interact to continuously flush and merge new in-memory segments to disk.

BUCKET_NAME:INDEX_NAME:num_files_on_disk

The total number of files on disk for the given Search index.

This statistic appears on the Server Web Console dashboard as Search Disk Files.

BUCKET_NAME:INDEX_NAME:num_mem_merge_ops

The number of merge operations completed by the merger routine, over in-memory segments.

Each Search index partition has a merger and a persister.

The persister reads in-memory segments from the disk write queue and flushes them to disk. The merger consolidates flushed files from the persister and flushes the consolidated result to disk through the persister, while purging the smaller, older files. The persister and merger interact to continuously flush and merge new in-memory segments to disk.

BUCKET_NAME:INDEX_NAME:num_mutations_to_index

The DCP sequence numbers of changes that have not yet been indexed for the given Search index.

This statistic appears on the Server Web Console dashboard as Search Mutations Remaining.

BUCKET_NAME:INDEX_NAME:num_persister_nap_merger_break

The number of times the persister was interrupted by the merger during a nap period.

Each Search index partition has a merger and a persister.

The persister reads in-memory segments from the disk write queue and flushes them to disk. The merger consolidates flushed files from the persister and flushes the consolidated result to disk through the persister, while purging the smaller, older files. The persister and merger interact to continuously flush and merge new in-memory segments to disk.

BUCKET_NAME:INDEX_NAME:num_persister_nap_pause_completed

The number of times the persister completed its configured nap period before flushing content to disk, without being interrupted by the merger.

Each Search index partition has a merger and a persister.

The persister reads in-memory segments from the disk write queue and flushes them to disk. The merger consolidates the flushed files from the persister and flushes the consolidated result to disk through the persister, while purging the smaller, older files. The persister and merger interact to continuously flush and merge new in-memory segments to disk.

BUCKET_NAME:INDEX_NAME:num_pindexes_actual

The total number of partitions currently in the given Search index.

This statistic appears on the Server Web Console dashboard as Search Partitions.

BUCKET_NAME:INDEX_NAME:num_pindexes_target

The total number of planned or expected partitions for the given Search index.

This statistic appears on the Server Web Console dashboard as Search Partitions Expected.

BUCKET_NAME:INDEX_NAME:num_recs_to_persist

The total number of entries, including terms, records, and dictionary rows, that have not yet been persisted to disk.

This statistic appears on the Server Web Console dashboard as Search Records to Persist.

BUCKET_NAME:INDEX_NAME:num_root_filesegments

The total number of file segments in the root segment.

The root segment includes all data for the Search index, excluding any segments that might be stale and will be removed by the persister or merger.

This statistic appears on the Server Web Console dashboard as Search Disk Segments.

BUCKET_NAME:INDEX_NAME:num_root_memorysegments

The total number of memory segments in the root segment.

The root segment includes all data for the Search index, excluding any segments that might be stale and will be removed by the persister or merger.

This statistic appears on the Server Web Console dashboard as Search Memory Segments.

BUCKET_NAME:INDEX_NAME:timer_batch_store_count

The total number of times batches were executed against the given Search index.

Batches are a data structure in the Search Service, used for processing data coming in from DCP and the Data Service to the documents in a Search index. A batch is executed when it’s flushed to disk.

BUCKET_NAME:INDEX_NAME:timer_data_delete_count

The total number of delete operations received from DCP for the given Search index.

BUCKET_NAME:INDEX_NAME:timer_data_update_count

The total number of create or update operations received from DCP for the given Search index.

BUCKET_NAME:INDEX_NAME:timer_opaque_get_count

The total number of times the DCP consumer had to retrieve stored metadata to aid in reconnection for the given Search index.

If the DCP connection closes, the Search Service can use this stored metadata to resume from the last stable point.

BUCKET_NAME:INDEX_NAME:timer_opaque_set_count

The total number of times the DCP consumer updated stored metadata, based on changes to Snapshot markers or the failover log, for the given Search index.

BUCKET_NAME:INDEX_NAME:timer_rollback_count

The total number of DCP Rollback messages received for the given Search index.

BUCKET_NAME:INDEX_NAME:timer_snapshot_start_count

The total number of DCP Snapshot markers received for the given Search index.

Snapshots contain a representation of document mutations on either a write queue or in storage.

BUCKET_NAME:INDEX_NAME:tot_seq_received

This metric is no longer used and will soon be deprecated.

BUCKET_NAME:INDEX_NAME:total_bytes_indexed

The rate, in bytes per second, of content indexed in the given Search index.

This statistic appears on the Server Web Console dashboard as Search Index Rate.

BUCKET_NAME:INDEX_NAME:total_bytes_query_results

The size of results returned for Search queries on the given Search index. This includes the size of all JSON sent.

This statistic appears on the Server Web Console dashboard as Search Result Rate.

BUCKET_NAME:INDEX_NAME:total_compaction_written_bytes

The total number of bytes written to disk as a result of compaction operations on the given Search index.

This statistic appears on the Server Web Console dashboard as Search Compaction Rate.

BUCKET_NAME:INDEX_NAME:total_grpc_internal_queries

The total number of internal gRPC requests from the coordinating node for a Search query to other nodes running the Search Service, for the given Search index.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster. The coordinating node is the Search node that receives the Search request and scatters it to all other Search index partitions on other nodes. The coordinating node applies filters to the results from all Search index partitions and returns the final result set.

BUCKET_NAME:INDEX_NAME:total_grpc_queries

The total number of queries, using gRPC for streaming, for the given Search index.

BUCKET_NAME:INDEX_NAME:total_grpc_queries_error

The total number of queries that resulted in an error that used gRPC for streaming on the given Search index.

BUCKET_NAME:INDEX_NAME:total_grpc_queries_slow

The total number of queries added to the slow query log that used gRPC for streaming on the given Search index.

BUCKET_NAME:INDEX_NAME:total_grpc_queries_timeout

The total number of queries that timed out that used gRPC for streaming on the given Search index.

BUCKET_NAME:INDEX_NAME:total_grpc_request_time

The total time, in nanoseconds, for internal scatter-gather requests.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster. The coordinating node is the Search node that receives the Search request and scatters it to all other Search index partitions on other nodes. The coordinating node applies filters to the results from all Search index partitions and returns the final result set.

BUCKET_NAME:INDEX_NAME:total_internal_queries

The number of internal queries from the coordinating node for a Search query to other nodes running the Search Service, for the given Search index.

The Search Service uses gRPC to manage scatter-gather operations across nodes when there are multiple nodes running the Search Service in a cluster. The coordinating node is the Search node that receives the Search request and scatters it to all other Search index partitions on other nodes. The coordinating node applies filters to the results from all Search index partitions and returns the final result set.

BUCKET_NAME:INDEX_NAME:total_knn_searches

The total number of Vector Search requests made to the given Search index.

BUCKET_NAME:INDEX_NAME:total_queries

The total number of Search queries per second on the given Search index.

BUCKET_NAME:INDEX_NAME:total_queries_error

The total number of Search queries on the given Search index that resulted in an error.

This statistic appears on the Server Web Console dashboard as Search Query Error Rate.

BUCKET_NAME:INDEX_NAME:total_queries_slow

The total number of Search queries on the given Search index in the slow query log.

Slow queries are any queries that take longer than 5 seconds to run.

This statistic appears on the Server Web Console dashboard as Search Slow Queries.

BUCKET_NAME:INDEX_NAME:total_queries_timeout

The total number of Search queries on the given Search index that timed out.

This statistic appears on the Server Web Console dashboard as Search Query Timeout Rate.

BUCKET_NAME:INDEX_NAME:total_request_time

The total time, in nanoseconds, spent processing Search query requests for the given Search index.

BUCKET_NAME:INDEX_NAME:total_term_searchers

The total number of term searchers for the given Search index.

Every Search query requires one or more term searchers. More complex Search queries typically require more term searchers.

Use this statistic to approximate how complex a query is.

This statistic appears on the Server Web Console dashboard as Term Searchers Start Rate.

BUCKET_NAME:INDEX_NAME:total_term_searchers_finished

The total number of term searchers on the given Search index that have finished serving a Search query.

BUCKET_NAME:INDEX_NAME:total_vectors

The total number of vectors inside the given Search index, across all indexed fields.

If there are no vectors inside the Search index, the REST API does not return this statistic.