Module search_query

Handler for m.search[{query, Args..}].

Copyright © 2009-2024 Arjan Scherpenisse

Authors: Arjan Scherpenisse (arjan@scherpenisse.net).

Description

Handler for m.search[{query, Args..}]

Function Index

build_query/2
expand_object_predicates/2
extract_value_op/2Extract the operator from the value.
parse_request_args/1
qterm/3
search/2Build a SQL search query from the filter arguments.
sql_safe/1
term_op_expr/4

Function Details

build_query/2

build_query(Terms::list(), Context::z:context()) -> #search_sql_terms{terms = [#search_sql_term{} | #search_sql_nested{terms = [#search_sql_term{} | #search_sql_nested{terms = [#search_sql_term{} | #search_sql_nested{}], operator = binary()}], operator = binary()}], post_func = fun((#search_result{search_name = binary() | atom(), search_args = map() | proplists:proplist(), result = list(), page = pos_integer(), pagelen = pos_integer() | undefined, options = z_search:search_options(), total = non_neg_integer() | undefined, pages = non_neg_integer() | undefined, is_total_estimated = boolean(), next = pos_integer() | false, prev = pos_integer(), facets = #{binary() => map()} | undefined}, #search_sql{select = iodata(), from = iodata(), where = iodata(), order = iodata(), group_by = iodata(), limit = any(), tables = list(), args = list(), cats = list(), cats_exclude = list(), cats_exact = list(), run_func = function() | undefined, post_func = fun((#search_result{search_name = binary() | atom(), search_args = map() | proplists:proplist(), result = list(), page = pos_integer(), pagelen = pos_integer() | undefined, options = z_search:search_options(), total = non_neg_integer() | undefined, pages = non_neg_integer() | undefined, is_total_estimated = boolean(), next = pos_integer() | false, prev = pos_integer(), facets = #{binary() => map()} | undefined}, #search_sql{select = iodata(), from = iodata(), where = iodata(), order = iodata(), group_by = iodata(), limit = any(), tables = list(), args = list(), cats = list(), cats_exclude = list(), cats_exact = list(), run_func = function() | undefined, post_func = fun((#search_result{}, #search_sql{}, z:context()) -> #search_result{}) | undefined, extra = list(), assoc = boolean(), search_sql_terms = list() | undefined}, z:context()) -> #search_result{search_name = binary() | atom(), search_args = map() | proplists:proplist(), result = list(), page = pos_integer(), pagelen = pos_integer() | undefined, options = z_search:search_options(), total = non_neg_integer() | undefined, pages = non_neg_integer() | undefined, is_total_estimated = boolean(), next = pos_integer() | false, prev = pos_integer(), facets = #{binary() => map()} | undefined}) | undefined, extra = list(), assoc = boolean(), search_sql_terms = list() | undefined}, z:context()) -> #search_result{search_name = binary() | atom(), search_args = map() | proplists:proplist(), result = list(), page = pos_integer(), pagelen = pos_integer() | undefined, options = z_search:search_options(), total = non_neg_integer() | undefined, pages = non_neg_integer() | undefined, is_total_estimated = boolean(), next = pos_integer() | false, prev = pos_integer(), facets = #{binary() => map()} | undefined}) | undefined} | #search_result{search_name = binary() | atom(), search_args = map() | proplists:proplist(), result = list(), page = pos_integer(), pagelen = pos_integer() | undefined, options = z_search:search_options(), total = non_neg_integer() | undefined, pages = non_neg_integer() | undefined, is_total_estimated = boolean(), next = pos_integer() | false, prev = pos_integer(), facets = #{binary() => map()} | undefined}

expand_object_predicates/2

expand_object_predicates(Bin, Context) -> any()

extract_value_op/2

extract_value_op(Value, DefaultOperator) -> {Operator, Value1}

Extract the operator from the value.

parse_request_args/1

parse_request_args(Args::[{binary(), term()}]) -> [{binary(), term()}]

qterm/3

qterm(Term, IsNested, Context) -> QueryTerms

search/2

search(Query, Context) -> SqlTerms | EmptyResult

Build a SQL search query from the filter arguments.

sql_safe/1

sql_safe(String) -> any()

term_op_expr/4

term_op_expr(Ref, Op, Value, Type) -> list()


Generated by EDoc