pub struct Query { /* private fields */ }Expand description
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.
Implementations§
Source§impl Query
impl Query
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Return true if and only if this query is empty.
Searching with an empty query always yields no results.
Sourcepub fn name(self, name: &str) -> Query
pub fn name(self, name: &str) -> Query
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.
Sourcepub fn name_scorer(self, scorer: Option<NameScorer>) -> Query
pub fn name_scorer(self, scorer: Option<NameScorer>) -> Query
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.
Sourcepub fn similarity(self, sim: Similarity) -> Query
pub fn similarity(self, sim: Similarity) -> Query
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.
Sourcepub fn size(self, size: usize) -> Query
pub fn size(self, size: usize) -> Query
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.
Sourcepub fn kind(self, kind: TitleKind) -> Query
pub fn kind(self, kind: TitleKind) -> Query
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.
Sourcepub fn year_ge(self, year: u32) -> Query
pub fn year_ge(self, year: u32) -> Query
Set the lower inclusive bound on a title’s year.
This applies to either the title’s start or end years.
Sourcepub fn year_le(self, year: u32) -> Query
pub fn year_le(self, year: u32) -> Query
Set the upper inclusive bound on a title’s year.
This applies to either the title’s start or end years.
Sourcepub fn votes_ge(self, votes: u32) -> Query
pub fn votes_ge(self, votes: u32) -> Query
Set the lower inclusive bound on a title’s number of votes.
Sourcepub fn votes_le(self, votes: u32) -> Query
pub fn votes_le(self, votes: u32) -> Query
Set the upper inclusive bound on a title’s number of votes.
Sourcepub fn season_ge(self, season: u32) -> Query
pub fn season_ge(self, season: u32) -> Query
Set the lower inclusive bound on a title’s season.
This automatically limits all results to episodes.
Sourcepub fn season_le(self, season: u32) -> Query
pub fn season_le(self, season: u32) -> Query
Set the upper inclusive bound on a title’s season.
This automatically limits all results to episodes.
Sourcepub fn episode_ge(self, episode: u32) -> Query
pub fn episode_ge(self, episode: u32) -> Query
Set the lower inclusive bound on a title’s episode number.
This automatically limits all results to episodes.
Sourcepub fn episode_le(self, episode: u32) -> Query
pub fn episode_le(self, episode: u32) -> Query
Set the upper inclusive bound on a title’s episode number.
This automatically limits all results to episodes.