Calculates which objects from a table or view match a string expression for the given string columns. Setting case_sensitive can modify case sensitivity in matching for all modes except search. For search mode details and limitations, see Full Text Search.
Parameters
Name of the table on which the filter operation will be performed, in [schema_name.]table_name format, using standard name resolution rules. Must be an existing table or view.
If provided, then this will be the name of the view containing the results, in [schema_name.]view_name format, using standard name resolution rules and meeting table naming criteria. Must not be an already existing table or view. The default value is ‘’.
The expression with which to filter the table.
The string filtering mode to apply. See below for details. Allowed values are:
search – Full text search query with wildcards and boolean operators. Note that for this mode, no column can be specified in input parameter column_names; all string columns of the table that have text search enabled will be searched.
equals – Exact whole-string match (accelerated).
contains – Partial substring match (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
starts_with – Strings that start with the given expression (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
regex – Full regular expression search (not accelerated). If the column is a string type (non-charN) and the number of records is too large, it will return 0.
search_stats – Cross-shard BM25 corpus statistics for one (column, query) pair. Returns the merged BM25 statistics (max_doc, doc_count, sum_total_term_freq, per-term doc_freq / total_term_freq) needed by callers that score documents themselves (e.g. text_match_bm25_global SQL function pre-pass). Requires column_names to contain exactly one column with text search enabled. The view_name field is ignored — this mode does not produce a result table.
List of columns on which to apply the filter. Ignored for search mode. The user can provide a single element (which will be automatically promoted to a list internally) or a list.
Optional parameters. Allowed keys are:
create_temp_table – If true, a unique temporary table name will be generated in the sys_temp schema and used in place of input parameter view_name. This is always allowed even if the caller does not have permission to create tables. The generated name is returned in qualified_view_name. Allowed values are:
true
false
The default value is ‘false’.
collection_name – [DEPRECATED–please specify the containing schema for the view as part of input parameter view_name and use
GPUdb.create_schema()to create the schema if non-existent] Name of a schema for the newly created view. If the schema is non-existent, it will be automatically created.case_sensitive – If false then string filtering will ignore case. Does not apply to search mode. Allowed values are:
true
false
The default value is ‘true’.
The default value is an empty dict ( ).
Returns
A dict with the following entries–
The number of records that passed the string filter.
Additional information. Allowed keys are:
qualified_view_name – The fully qualified name of the view (i.e. including the schema).
The default value is an empty dict ( ).
Serialized cross-shard BM25 corpus statistics, populated for search_stats mode and empty otherwise. Wire format matches the merged BM25GlobalStats blob the BM25 stats worker produces internally (max_doc, doc_count, sum_total_term_freq, sum_doc_freq, num_terms, then per term: term, doc_freq, total_term_freq). Clients that consume this perform their own scoring; the gpudb client library will expose a parser as a future convenience. The default value is ‘’.