[−][src]Struct imdb_index::Query
A query that can be used to search IMDb media records.
A query typically consists of a fuzzy name query along with zero or more filters. If a query lacks a fuzzy name query, then this will generally result in an exhaustive search of all IMDb media records, which can be slow.
Filters are matched conjunctively. That is, a search result must satisfy every filter on a query to match.
Empty queries always return no results.
The Serialize
and Deserialize
implementations for this type use the
free-form query syntax.
Methods
impl Query
[src]
pub fn new() -> Query
[src]
Create a new empty query.
pub fn is_empty(&self) -> bool
[src]
Return true if and only if this query is empty.
Searching with an empty query always yields no results.
pub fn name(self, name: &str) -> Query
[src]
Set the name to query by.
The name given here is normalized and broken down into components automatically to facilitate fuzzy searching.
Note that if no name is provided in a query, then it is possible that searching with the query will require exhaustively looking at every record in IMDb. This will be slower.
pub fn name_scorer(self, scorer: Option<NameScorer>) -> Query
[src]
Set the scorer to use for name searches.
The name scorer is used to rank results from searching the IMDb name index. If no name query is given, then this scorer is not used.
If None
is provided here, then the name index will not be used. This
will likely cause an exhaustive search of all IMDb records, which can
be slow. The use case for providing a name query without a name scorer
is if you, for example, wanted to rank all of the records in IMDb
by the Levenshtein distance between your query and every other record
in IMDb. Normally, when the name index is used, only the (small number)
of results returned by searching the name are ranked. Typically, these
sorts of queries are useful for evaluation purposes, but not much else.
pub fn similarity(self, sim: Similarity) -> Query
[src]
Set the similarity function.
The similarity function can be selected from a predefined set of
choices defined by the
Similarity
type.
When a similarity function is used, then any results from searching the name index are re-ranked according to their similarity with the query.
By default, no similarity function is used.
pub fn size(self, size: usize) -> Query
[src]
Set the maximum number of results to be returned by a search.
Note that setting this number too high (e.g., > 10,000
) can impact
performance. This is a normal restriction found in most information
retrieval systems. That is, deep paging through result sets is
expensive.
pub fn kind(self, kind: TitleKind) -> Query
[src]
Add a title kind to filter by.
Multiple title kinds can be added to query, and search results must match at least one of them.
Note that it is not possible to remove title kinds from an existing query. Instead, build a new query from scratch.
pub fn year_ge(self, year: u32) -> Query
[src]
Set the lower inclusive bound on a title's year.
This applies to either the title's start or end years.
pub fn year_le(self, year: u32) -> Query
[src]
Set the upper inclusive bound on a title's year.
This applies to either the title's start or end years.
pub fn votes_ge(self, votes: u32) -> Query
[src]
Set the lower inclusive bound on a title's number of votes.
pub fn votes_le(self, votes: u32) -> Query
[src]
Set the upper inclusive bound on a title's number of votes.
pub fn season_ge(self, season: u32) -> Query
[src]
Set the lower inclusive bound on a title's season.
This automatically limits all results to episodes.
pub fn season_le(self, season: u32) -> Query
[src]
Set the upper inclusive bound on a title's season.
This automatically limits all results to episodes.
pub fn episode_ge(self, episode: u32) -> Query
[src]
Set the lower inclusive bound on a title's episode number.
This automatically limits all results to episodes.
pub fn episode_le(self, episode: u32) -> Query
[src]
Set the upper inclusive bound on a title's episode number.
This automatically limits all results to episodes.
pub fn tvshow_id(self, tvshow_id: &str) -> Query
[src]
Restrict results to episodes belonging to the TV show given by its IMDb ID.
This automatically limits all results to episodes.
Trait Implementations
impl PartialEq<Query> for Query
[src]
impl Eq for Query
[src]
impl Default for Query
[src]
impl Clone for Query
[src]
fn clone(&self) -> Query
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Hash for Query
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl Debug for Query
[src]
impl Display for Query
[src]
impl FromStr for Query
[src]
type Err = Error
The associated error which can be returned from parsing.
fn from_str(qstr: &str) -> Result<Query>
[src]
impl<'a> Deserialize<'a> for Query
[src]
fn deserialize<D>(d: D) -> Result<Query, D::Error> where
D: Deserializer<'a>,
[src]
D: Deserializer<'a>,
impl Serialize for Query
[src]
Auto Trait Implementations
impl Send for Query
impl Unpin for Query
impl Sync for Query
impl UnwindSafe for Query
impl RefUnwindSafe for Query
Blanket Implementations
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,