Reputation: 55
I've tried using many symbols to separate columns; ||, |, &&, & with and without spaces.
For instance
.textSearch("username, title, description", "...");
.textSearch("username|title|description", "...");
And nothing has worked :(
Upvotes: 5
Views: 4670
Reputation: 18680
You could create a SQL function to perform search like this:
create or replace function search_posts(keyword text)
returns setof posts
as
$func$
select
*
from
posts
where
to_tsvector(username || ' ' || title || ' ' || description) -- concat columns, but be sure to include a space to separate them!
@@ to_tsquery(keyword);
$func$
language sql;
You can call this function like this:
const {data, error} = await supabase.rpc('search_posts', { keyword: '[YOUR_SEARCH_TERM_HERE]' })
You can read more about textSearch here
Upvotes: 7