View Source Haystack.Query.Clause behaviour (Haystack v0.1.0)
A module for defining query clauses.
Link to this section Summary
Callbacks
Evaluate the given clause.
Functions
Build the clause into a statement.
Add a list of clauses.
Return the default clauses.
Add a list of expressions.
Create a new clause.
Link to this section Types
@type k() :: atom()
@type t() :: %Haystack.Query.Clause{ clauses: [t()], expressions: [Haystack.Query.Expression.t()], k: k() }
Link to this section Callbacks
@callback evaluate(Haystack.Query.t(), Haystack.Index.t(), [Haystack.Query.statement()]) :: [map()]
Evaluate the given clause.
Link to this section Functions
@spec build(t()) :: Haystack.Query.statement()
Build the clause into a statement.
examples
Examples
iex> clause = Query.Clause.new(:any)
iex> Query.Clause.build(clause)
Add a list of clauses.
examples
Examples
iex> clause = Query.Clause.new(:any)
iex> Query.Clause.clauses(clause, [Query.Clause.new(:any)])
Return the default clauses.
examples
Examples
iex> Query.Clause.default()
Add a list of expressions.
examples
Examples
iex> clause = Query.Clause.new(:any)
iex> expression = Query.Expression.new(:match, field: "name", term: "Haystack")
iex> Query.Clause.expressions(clause, [expression])
Create a new clause.
examples
Examples
iex> Query.Clause.new(:any)