One search call: the hits, the provider that answered, and what it cost.
cost is the provider's list price in USD for this request. A request
that returned nothing still costs that price, unless the provider reports
empty results as free (Perplexed.Search.free_when_empty?/0).
scrape_cost is the summed cost of the hits' documents when the search
ran with scrape: true. total_cost is both together.
Summary
Types
@type t() :: %Perplexed.Search.Result{ cost: float(), hits: [Perplexed.Search.Hit.t()], provider: Perplexed.Search.spec(), query: String.t(), scrape_cost: float(), total_cost: float() }