+
+ if operator == '@@' # full-text-search
+ if attrs_in != 'any'
+ raise ArgumentError.new("Full text search on individual columns is not supported")
+ end
+ attrs = [] # skip the generic per-column operator loop below
+ # Use to_tsquery since plainto_tsquery does not support prefix search.
+ # Instead split operand and join the words with ' & ' and add ':*' to the last word
+ # Thus when searched for "some str", objects containing "some" and "str:*" are found.
+ cond_out << model_class.full_text_tsvector+" @@ to_tsquery(?)"
+ operand << ':*'
+ param_out << operand.split.join(' & ')
+ else
+ attrs.each do |attr|