Struct elastic::client::responses::prelude::SearchResponse
[−]
pub struct SearchResponse<T> { /* fields omitted */ }
Response for a search request.
This is the main struct
of the crate, provides access to the hits
and aggs
iterators.
Aggregations
Aggregations currently have the following limitations:
- Only metric aggregations nested in buckets are supported
- Only Simple Metric Aggregations like
avg
,min
,max
,sum
and Stats Aggregations are supported
Examples
Iterate over the hits in a search response:
let response: SearchResponse<Value> = do_request(); // Iterate over hits. Could also use `documents` for hit in response.hits() { let score = hit.score().unwrap_or(f32::default()); let doc = hit.document(); println!("score: {}", score); println!("doc: {:?}", doc); }
Methods
impl<T> SearchResponse<T>
pub fn took(&self) -> u64
Time in milliseconds it took for Elasticsearch to process the request.
pub fn timed_out(&self) -> bool
Whether or not the request timed out before completing.
Shards metadata for the request.
pub fn status(&self) -> Option<u16>
A http status associated with the response.
pub fn total(&self) -> u64
The total number of documents that matched the search query.
pub fn max_score(&self) -> Option<f32>
The max score for documents that matched the search query.
ⓘImportant traits for Hits<'a, T>pub fn hits(&self) -> Hits<T>
Iterate over the hits matched by the search query.
ⓘImportant traits for IntoHits<T>pub fn into_hits(self) -> IntoHits<T>
Convert the response into an iterator that consumes the hits.
ⓘImportant traits for Documents<'a, T>pub fn documents(&self) -> Documents<T>
Iterate over the documents matched by the search query.
This iterator emits just the _source
field for the returned hits.
ⓘImportant traits for IntoDocuments<T>pub fn into_documents(self) -> IntoDocuments<T>
Convert the response into an iterator that consumes the documents.
ⓘImportant traits for Aggs<'a>pub fn aggs(&self) -> Aggs
Iterate over the aggregations in the response.
This Iterator transforms the tree-like JSON object into a row/table based format for use with standard iterator adaptors.
pub fn aggs_raw(&self) -> Option<&Value>
Get a reference to the raw aggregation value.
Trait Implementations
impl<T> IsOk for SearchResponse<T> where
T: DeserializeOwned,
T: DeserializeOwned,
fn is_ok<B>(
head: HttpResponseHead,
body: Unbuffered<B>
) -> Result<MaybeOkResponse<B>, ParseResponseError> where
B: ResponseBody,
head: HttpResponseHead,
body: Unbuffered<B>
) -> Result<MaybeOkResponse<B>, ParseResponseError> where
B: ResponseBody,
Inspect the http response to determine whether or not it succeeded.
impl<'de, T> Deserialize<'de> for SearchResponse<T> where
T: Deserialize<'de>,
T: Deserialize<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<SearchResponse<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
__deserializer: __D
) -> Result<SearchResponse<T>, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<T> Debug for SearchResponse<T> where
T: Debug,
T: Debug,
Auto Trait Implementations
impl<T> Send for SearchResponse<T> where
T: Send,
T: Send,
impl<T> Sync for SearchResponse<T> where
T: Sync,
T: Sync,