Skip to main content

Module search_scope

Module search_scope 

Source
Expand description

Plan-time refusal of index-owned search functions in row-evaluated positions.

bm25_score, search_score, text_match, search, rrf_score, sparse_score, graph_score, multi_vector_score and multi_vector_search read a search index. The planner lowers each call it recognises into its search plan, which serves the score as a column. A call the planner could not lower stays in a filter, projection, sort key, assignment or aggregate argument. The row evaluator has no index and no value for it, so this pass refuses the statement at plan time. The refusal does not depend on whether the collection holds rows.

A wrapper plan (a subquery tail, aggregate, join or lateral join) over a search plan is not checked for its own expressions: its projection names the score column the search plan serves.

Functionsยง

refuse_row_scoped_search_functions
Refuse plan when an index-owned search function sits where the row evaluator runs it.