有没有办法用 Javascript 在 Supabase 的多个列上执行全文搜索?

Is there a way to perform full text search on multiple columns on Supabase with Javascript?

我试过用很多符号来分隔列; ||、|、&&、& 带和不带空格。

例如

.textSearch("username, title, description", "...");
.textSearch("username|title|description", "...");

没有任何效果:(

您可以创建一个 SQL 函数来执行这样的搜索:

create or replace function search_posts(keyword text)
returns table([YOUR_TABLE_DEFINITION])
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;

你可以这样调用这个函数:

const {data, error} = await supabase.rpc('search_posts', { keyword: '[YOUR_SEARCH_TERM_HERE]' })

您可以阅读有关 textSearch 的更多信息here