[][src]Struct imdb_index::Query

pub struct Query { /* fields omitted */ }

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_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Hash for Query[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

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.

impl<'a> Deserialize<'a> for Query[src]

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]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]