Struct SpellCheckResult
pub struct SpellCheckResult {
pub database: String,
pub query: String,
pub corrected_query: String,
pub spelled_query: Vec<SpelledQuerySegment>,
}Expand description
Result from the ESpell API providing spelling suggestions
ESpell provides spelling suggestions for terms within a single text query in a given database. It acts as a preprocessing/spell-check tool to improve search accuracy before executing actual searches.
§Example
ⓘ
use pubmed_client::PubMedClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = PubMedClient::new();
let result = client.spell_check("asthmaa OR alergies").await?;
println!("Original: {}", result.query);
println!("Corrected: {}", result.corrected_query);
Ok(())
}Fields§
§database: StringThe database that was queried
query: StringThe original query string as submitted
corrected_query: StringThe full corrected/suggested query as a plain string
spelled_query: Vec<SpelledQuerySegment>Detailed segments showing which terms were replaced vs. kept
Implementations§
§impl SpellCheckResult
impl SpellCheckResult
pub fn has_corrections(&self) -> bool
pub fn has_corrections(&self) -> bool
Check if the query had any spelling corrections.
Returns true only when NCBI provided a non-empty corrected query that differs from
the original. The NCBI ESpell API returns an empty <CorrectedQuery/> element when
no corrections are available.
pub fn replacements(&self) -> Vec<&str>
pub fn replacements(&self) -> Vec<&str>
Get only the replaced (corrected) terms
Trait Implementations§
§impl Clone for SpellCheckResult
impl Clone for SpellCheckResult
§fn clone(&self) -> SpellCheckResult
fn clone(&self) -> SpellCheckResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for SpellCheckResult
impl Debug for SpellCheckResult
§impl<'de> Deserialize<'de> for SpellCheckResult
impl<'de> Deserialize<'de> for SpellCheckResult
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpellCheckResult, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpellCheckResult, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl Serialize for SpellCheckResult
impl Serialize for SpellCheckResult
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for SpellCheckResult
impl RefUnwindSafe for SpellCheckResult
impl Send for SpellCheckResult
impl Sync for SpellCheckResult
impl Unpin for SpellCheckResult
impl UnwindSafe for SpellCheckResult
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more