Skip to content

Commit 6e4d7d7

Browse files
authored
Merge pull request #679 from meilisearch/update-stats-response
Add documents and embbedings database metrics to stats response
2 parents a658ec4 + 0458791 commit 6e4d7d7

File tree

5 files changed

+28
-3
lines changed

5 files changed

+28
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<a href="https://github.com/meilisearch/meilisearch-rust/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-informational" alt="License"></a>
2525
<a href="https://github.com/meilisearch/meilisearch/discussions" alt="Discussions"><img src="https://img.shields.io/badge/github-discussions-red" /></a>
2626
<a href="https://ms-bors.herokuapp.com/repositories/62"><img src="https://bors.tech/images/badge_small.svg" alt="Bors enabled"></a>
27-
<a href="https://codecov.io/gh/meilisearch/meilisearch-rust" ><img src="https://codecov.io/gh/meilisearch/meilisearch-rust/graph/badge.svg?token=NVO9OI8JMG"/></a>
27+
<a href="https://codecov.io/gh/meilisearch/meilisearch-rust"><img src="https://codecov.io/gh/meilisearch/meilisearch-rust/graph/badge.svg?token=NVO9OI8JMG"/></a>
2828
</p>
2929

3030
<p align="center">⚡ The Meilisearch API client written for Rust 🦀</p>

README.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
<a href="https://github.com/meilisearch/meilisearch-rust/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-informational" alt="License"></a>
2525
<a href="https://github.com/meilisearch/meilisearch/discussions" alt="Discussions"><img src="https://img.shields.io/badge/github-discussions-red" /></a>
2626
<a href="https://ms-bors.herokuapp.com/repositories/62"><img src="https://bors.tech/images/badge_small.svg" alt="Bors enabled"></a>
27+
<a href="https://codecov.io/gh/meilisearch/meilisearch-rust"><img src="https://codecov.io/gh/meilisearch/meilisearch-rust/graph/badge.svg?token=NVO9OI8JMG"/></a>
2728
</p>
2829

2930
<p align="center">⚡ The Meilisearch API client written for Rust 🦀</p>

src/client.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1118,10 +1118,17 @@ impl<Http: HttpClient> Client<Http> {
11181118
#[derive(Debug, Clone, Deserialize)]
11191119
#[serde(rename_all = "camelCase")]
11201120
pub struct ClientStats {
1121+
/// Storage space claimed by Meilisearch and LMDB in bytes
11211122
pub database_size: usize,
1123+
1124+
/// Storage space used by the database in bytes, excluding unused space claimed by LMDB
11221125
pub used_database_size: usize,
1126+
1127+
/// When the last update was made to the database in the `RFC 3339` format
11231128
#[serde(with = "time::serde::rfc3339::option")]
11241129
pub last_update: Option<OffsetDateTime>,
1130+
1131+
/// The statistics for each index found in the database
11251132
pub indexes: HashMap<String, IndexStats>,
11261133
}
11271134

src/indexes.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ impl<Http: HttpClient> Index<Http> {
299299
/// }
300300
/// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async {
301301
/// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap();
302-
/// let movies = client.index("execute_query");
302+
/// let movies = client.index("execute_query2");
303303
///
304304
/// // add some documents
305305
/// # movies.add_or_replace(&[Movie{name:String::from("Interstellar"), genre:String::from("scifi")},Movie{name:String::from("Inception"), genre:String::from("drama")}], Some("name")).await.unwrap().wait_for_completion(&client, None, None).await.unwrap();
@@ -1846,8 +1846,25 @@ impl<'a, Http: HttpClient> AsRef<IndexUpdater<'a, Http>> for IndexUpdater<'a, Ht
18461846
#[derive(Debug, Clone, Deserialize)]
18471847
#[serde(rename_all = "camelCase")]
18481848
pub struct IndexStats {
1849+
/// Total number of documents in an index
18491850
pub number_of_documents: usize,
1851+
1852+
/// Total number of documents with at least one embedding
1853+
pub number_of_embedded_documents: usize,
1854+
1855+
/// Total number of embeddings in an index
1856+
pub number_of_embeddings: usize,
1857+
1858+
/// Storage space claimed by all documents in the index in bytes
1859+
pub raw_document_db_size: usize,
1860+
1861+
/// Total size of the documents stored in an index divided by the number of documents in that same index
1862+
pub avg_document_size: usize,
1863+
1864+
/// If `true`, the index is still processing documents and attempts to search will yield impredictable results
18501865
pub is_indexing: bool,
1866+
1867+
/// Shows every field in the index along with the total number of documents containing that field in said index
18511868
pub field_distribution: HashMap<String, usize>,
18521869
}
18531870

src/search.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -765,7 +765,7 @@ pub struct MultiSearchResponse<T> {
765765
/// }
766766
/// # tokio::runtime::Builder::new_current_thread().enable_all().build().unwrap().block_on(async {
767767
/// # let client = Client::new(MEILISEARCH_URL, Some(MEILISEARCH_API_KEY)).unwrap();
768-
/// let movies = client.index("execute_query");
768+
/// let movies = client.index("execute_query3");
769769
///
770770
/// // add some documents
771771
/// # movies.add_or_replace(&[Movie{name:String::from("Interstellar"), genre:String::from("scifi")},Movie{name:String::from("Inception"), genre:String::from("drama")}], Some("name")).await.unwrap().wait_for_completion(&client, None, None).await.unwrap();

0 commit comments

Comments
 (0)